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
|