PHP est un langage de script puissant qui est le plus souvent utilisé par les développeurs Web de créer des pages Web dynamiques et d'applications Web . La gamme de fonctionnalités que PHP fournit un programmeur est pratiquement infinie , être capable de créer des données à envoyer à un utilisateur, ainsi que la manipulation de fichiers et les entrées de la base de données sur le back-end. Pour cette raison, PHP est un excellent choix de la langue si vous avez besoin pour construire un moteur de recherche pour votre site web . Instructions
1
Créer un formulaire Web du moteur de recherche . Dans cet exemple, le fichier de script PHP sera nommé " search.php ". Votre forme aura besoin d'une zone de saisie de texte et un bouton «Soumettre».
2
créer une fonction pour rechercher des fichiers et des répertoires du serveur. Faire une fonction permettra à faciliter les recherches de sous-répertoires . La fonction aura un paramètre obligatoire , qui sera la chaîne de recherche.
Recherche de la fonction
($ mot ) { }
>
3
Ajouter un paramètre facultatif pour les chemins sous-répertoire . Si ce second paramètre n'est pas spécifié , la fonction par défaut à chercher dans le répertoire courant .
Recherche de la fonction
($ mot ) {
if ( func_num_args () > 1) $ dir = func_get_arg (1);
autre $ dir = "." ; }
4
lire le contenu du répertoire dans un tableau. Ajouter ce code à la fonction search ()
$ dirStream = opendir ( $ dir ) ; .
While ( $ nextfile = readdir ($ dirStream ) ) $ dirArray [ ] = $ nextfile ; Photos
closedir ($ dirStream ) ;
5
parcourir les contenus de l'ensemble du répertoire en utilisant une boucle foreach
foreach ($ dirArray comme thisfile $ ) { . Photos
}
6
Créer une variable pour stocker le chemin relatif du script PHP pour le fichier en cours de fouille. Ajouter ce dans la boucle foreach
$ thisPath = $ dir "/" $ thisfile ; . . .
7
Ajouter une ligne pour empêcher le moteur de recherche de montrer les résultats à partir des fichiers cachés . (comme " . htaccess " )
if ( substr ( thisfile $ , 0,1) == " "). continuer ;
8
vérifier pour voir si le courant nom de fichier dans $ dirArray est en fait un sous-répertoire , auquel cas il sera stocké dans un tableau de rechercher à travers tard.
if ( filetype ($ thisPath ) == "dir" ) {
$ subdir [ ] = $ thisfile ;
continuer ;
}
9
Vérifiez le contenu du fichier en cours pour voir si elle contient la chaîne de recherche stockés dans $ mot-clé, et , le cas échéant , d'afficher un lien vers le fichier . Votre boucle foreach devrait maintenant ressembler à ceci:
foreach ( $ dirArray comme thisfile $ ) {
$ thisPath = $ dir "/" $ thisfile ;
si . . ("." substr ( thisfile $ , 0,1) ==) continue ; " . " //ne recherche pas les fichiers cachés , qui commencent par
if ( filetype ($ thisPath ) == " dir ") { $
subdir [ ] = $ thisPath ; //ajouter à une liste de tableau " " thisfile $ " \\ n"; . .
}
10
Ajouter une ligne à la fin de la fonction de recherche () pour parcourir le tableau $ subdir et rechercher tous les sous-répertoires. Si vous ne souhaitez pas rechercher des sous-répertoires , ne pas ajouter cette ligne
foreach ($ Subdir que $ thisDir ) de recherche ( mot-clé $ , $ thisDir ) .
11
Ajouter une dernière ligne de PHP après la fouille complète () pour voir si les données de formulaire a été soumis , et , si c'est le cas , appelez la fonction search () . Votre code complet devrait ressembler à ceci :
Photos
recherche de la fonction
($ mot ) {
if ( func_num_args () > 1) $ dir = func_get_arg (1);
autre $ dir = "." ;
$ dirStream = opendir ( $ dir ) ;
while ( $ nextfile = readdir ($ dirStream ) ) $ dirArray [] = nextfile $;
closedir ($ dirStream ) .
foreach ( $ dirArray comme thisfile $ ) {
$ thisPath = $ dir " /"$ thisfile ; .
if ( substr ( thisfile $ , 0,1) ==" "). continuer ;
if ( filetype ($ thisPath ) == " dir " ) { Photos
$ subdir [] = " }
if ( isset ($ _GET [' clé '] ) && $ _GET [ 'key' ] ! = "") de recherche ( $ _GET [ 'key' ] ) ; ?
> Photos