--- title: "PHP5|7 : un fichier sitemap.xml, ou sitemap.xml.gz" date: 2018-11-13T19:10:51+02:00 description: "Générer un fichier sitemap et sa version compressée en PHP 5 et 7" draft: false tags: ['PHP5', 'PHP7', 'sitemap'] --- ## Description Ou comment créer un fichier **[sitemap.xml][1]** - ou sa version compressée **sitemap.xml.gz** en PHP. ## Sitemap.xml basique Voyons comment écrire en PHP un sitemap.xml très basique : {{< code "dev-php-sitemap-basic" php >}} Bien-sûr l'écriture du fichier `sitemap.xml` est basique, non compressé, et ne sert - *dans ce cas* - qu'à indexer le fichier `index.php` - *cas peu utile, avouons-le* ! ## Parcours de répertoire Maintenant, admettons que nous avons un répertoire 'outils', dans lequel nous avons différents scripts PHP que nous souhaitons indexer, eux aussi ;) Pour cela, nous allons utiliser les Itérateurs par parcourir le répertoire, puis récupérer les informations de fichier par le biais de la classe SPL ! {{< code "dev-php-sitemap-spl-loop-folders" php >}} Bien-sûr, ce code PHP de parcours de dossier et de restitution d'informations fichiers, envoyé dans le flux XML nécessaire, est à intégrer après le code relatif au fichier index et avant le code de fermeture du flux XML. ## Compression du sitemap.xml Maintenant, voyons comment compresser de manière simple et rapide le flux XML pour créer un fichier **sitemap.xml.gz** nécessaire : {{< code "dev-php-sitemap-gzencode" php >}} Ensuite pour envoyer les données, utilisons les bons entêtes, puis affichons le flux encodé : {{< code "dev-php-sitemap-headers" php >}} ## TL;DR Voici la version finale du code PHP pour créer dynamiquement un fichier **sitemap.xml**, et sa version compressée **sitemap.xml.gz** : {{< file "dev-php-sitemap-tldr" php "sitemap.php" >}} Et, voilà ! :D --- [1]: https://www.sitemaps.org/fr/ ---