Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> .

Come fare un motore di ricerca a dominio con PHP

PHP è un potente linguaggio di scripting che è più spesso utilizzato dagli sviluppatori Web per creare pagine Web dinamiche e applicazioni web . La gamma di funzionalità che PHP mette a disposizione un programmatore è praticamente infinita , essendo in grado di creare i dati da inviare a un utente così come la manipolazione di file e le voci di database sul back-end . A causa di questo , il PHP è una scelta eccellente di lingua, se avete bisogno di costruire un motore di ricerca per il tuo sito . Istruzioni
1

Creare modulo web del motore di ricerca. In questo esempio, il file dello script PHP si chiamerà " search.php ". Il modulo avrà bisogno di una casella di testo e un pulsante "Invia" .


< input type = valore submit = Cerca >

< /form >
2

creare una funzione per cercare i file e le directory del server. Esecuzione di una funzione consente ricerche semplici e di sottodirectory. La funzione avrà un parametro richiesto , che sarà la stringa di ricerca .

< ?
Ricerca funzione

( $ chiave ) { }


? >
3

Aggiungi un parametro opzionale per i percorsi sottodirectory . Se il secondo parametro non viene specificato, la funzione predefinita sarà la ricerca nella directory corrente.
Ricerca funzione

( $ chiave ) {

se ( func_num_args ( ) > 1 ) $ dir = func_get_arg ( 1) ;

altro $ dir = " . " ;

}
4

leggere il contenuto della directory in un array . Aggiungere questo codice alla funzione di ricerca ( ) per

$ dirStream = opendir ( $ dir) ; .

While ( $ nextfile = readdir ( $ dirStream ) ) $ dirArray [ ] = $ nextfile ;

closedir ( $ dirStream ) ;
5

iterare i contenuti della matrice directory utilizzando un ciclo foreach

foreach ( $ dirArray da $ thisFile ) { .

}
6

Creare una variabile per memorizzare il percorso relativo dalla script PHP per il file viene cercato . Aggiungere questo all'interno del ciclo foreach

$ thisPath = $ dir " /" $ thisFile , . . .
7

Aggiungi una linea per evitare che il motore di ricerca di mostrare i risultati di file nascosti . ( ad esempio " . htaccess " ) per

if ( substr ( $ thisFile , 0,1) == " "). continuare ;
8

check per vedere se la corrente nome del file in $ dirArray in realtà è una sottodirectory , nel qual caso verrà memorizzato in un array di cercare attraverso più tardi.

se ( filetype ( $ thisPath ) == "dir" ) {

$ subdir [ ] = $ thisFile ;

continuare ;

}
9

Controllare il contenuto del file corrente per vedere se contiene la stringa di ricerca memorizzata in $ parola chiave , e , in caso affermativo , visualizzare un collegamento al file . Il tuo ciclo foreach dovrebbe apparire come questo :

foreach ( $ dirArray da $ thisFile ) {

$ thisPath = $ dir " /" $ thisFile ;

se . . ("." substr ( $ thisFile , 0,1 ) == ) continuano , " . " //non cercare i file nascosti , che iniziano con

se ( filetype ( $ thisPath ) == "dir " ) {

$ subdir [ ] = $ thisPath ; //aggiunge al listino di una matrice " se si desidera href=\\"".str_replace("./","",$thisPath)."\\"> " $ thisFile " < /a> \\ n"; . .

}
10

Aggiungere una riga alla fine della funzione di ricerca () per scorrere la matrice $ subdir e cercare tutte le sottodirectory . Se non si desidera ricercare le sottodirectory , non aggiungere questa linea

foreach ( $ subdir da $ thisDir ) ricerca ( $ chiave , $ thisDir ) .
11

Aggiungi una linea finale di PHP dopo la funzione di ricerca completa ( ) per vedere se è stata presentata, i dati dei moduli , e , in tal caso, chiamare la funzione di ricerca ( ) . Il codice completo sarà simile a questa:



< /form >

< ?
ricerca funzione

( $ chiave ) {

se ( func_num_args ( ) > 1 ) $ dir = func_get_arg ( 1) ;

altro $ dir = " . " ;

$ dirStream = opendir ( $ dir) ;

while ( $ nextfile = readdir ( $ dirStream ) ) $ dirArray [ ] = $ nextfile ;

closedir ( $ dirStream ) .

foreach ( $ dirArray da $ thisFile ) {

$ thisPath = $ dir " /"$ thisFile ; .

if ( substr ( $ thisFile , 0,1) ==" "). continuare ;

se ( filetype ( $ thisPath ) == " dir " ) {

$ subdir [ ] = "

}

if ( isset ( $ _GET [ ' chiave '] ) && $ _GET [ ' chiave ' ] ! = " " ) ricerca ( $ _GET [ 'chiave' ] ) ; ?

>

 

Programmazione © www.354353.com