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