< 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: