Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
informatique:langage:php:script-php-qui-scanne-tous-les-dossiers-de-l-arborescence-courante-et-affiche-des-liens-vers-ces-dossiers [2023/03/16 23:19] – créée Cédric ABONNEL | informatique:langage:php:script-php-qui-scanne-tous-les-dossiers-de-l-arborescence-courante-et-affiche-des-liens-vers-ces-dossiers [2023/03/16 23:24] (Version actuelle) – Cédric ABONNEL | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Afficher les dossiers courants ====== | ||
+ | {{ : | ||
+ | Voici un script en PHP qui scanne tous les dossiers de l' | ||
+ | |||
+ | <WRAP clear/> | ||
+ | |||
+ | |||
+ | <code PHP> | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | <link rel=" | ||
+ | </ | ||
+ | < | ||
+ | <div class=" | ||
+ | < | ||
+ | <?php | ||
+ | $dir = ' | ||
+ | $folders = array_diff(scandir($dir), | ||
+ | foreach ($folders as $folder) { | ||
+ | if (is_dir($folder)) { | ||
+ | echo '< | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ce script commence par inclure les en-têtes HTML nécessaires, | ||
+ | |||
+ | ===== Evolution ===== | ||
+ | |||
+ | Pour afficher le titre **title** du fichier index.html contenu dans chaque dossier scanné, vous pouvez utiliser la fonction **file_exists**() pour vérifier si le fichier existe et la fonction **file_get_contents**() pour obtenir le contenu du fichier et extraire le titre **title**. Voici le code mis à jour : | ||
+ | |||
+ | <code PHP> | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | <link rel=" | ||
+ | </ | ||
+ | < | ||
+ | <div class=" | ||
+ | < | ||
+ | <?php | ||
+ | $dir = ' | ||
+ | $folders = array_diff(scandir($dir), | ||
+ | foreach ($folders as $folder) { | ||
+ | if (is_dir($folder)) { | ||
+ | $index_file = $folder.'/ | ||
+ | if (file_exists($index_file)) { | ||
+ | $content = file_get_contents($index_file); | ||
+ | if (preg_match('/< | ||
+ | $title = $matches[1]; | ||
+ | } else { | ||
+ | $title = 'Titre non trouvé'; | ||
+ | } | ||
+ | } else { | ||
+ | $title = ' | ||
+ | } | ||
+ | echo '< | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ce script commence par inclure les mêmes en-têtes HTML que précédemment. Ensuite, il utilise les mêmes fonctions pour récupérer la liste des dossiers à scanner. | ||
+ | |||
+ | Pour chaque dossier, le script vérifie si un fichier **index.html** existe en utilisant la variable **$index_file** qui contient le chemin complet vers le fichier. Si le fichier existe, le script utilise la fonction **file_get_contents**() pour obtenir le contenu du fichier et utilise une expression régulière pour extraire le texte entre les balises ''< | ||
+ | |||
+ | Enfin, le script affiche un lien vers le dossier ainsi que le titre **title** récupéré (ou un message d' |