Rendre des pages dynamiques statiques
Pour limiter les accés à la base de données et les ressources nécessaires au niveau du serveur, comme je vous l’ai indiqué dans l’un de mes précédents articles, j’ai crée un script qui me permet de stocker le contenu demandé dans des fichiers html. Ainsi lors de la première demande d’un fichier, celui-ci est généré puis copié et lors des demandes suivantes, c’est la page statique qui est directement renvoyée.
Ayant reçu quelques demandes sur la façon de mettre en œuvre ce type de fonctionnement, j’ai décidé d’expliquer ici le script crée.
<?php
$url= $_SERVER['REQUEST_URI']; //Récupération de l’url demandée
$delcar=array( « / », « ? » ); //liste des caractères à supprimer de l’url
$file= $url. « .html »; //nom du fichier à utiliser
if (file_exists($file)) include_once($file); //si le fichier existe celui-ci sera affiché
else
{
@copy( « http://site-hebergé » .$url, $file); //sinon il sera copié puis affiché
include_once($file);
}
?>
En complément de ce script, il faut également un script pour supprimer ces fichiers générés lorsque cela est nécessaire:
<?php
$repertoire = opendir( « . » );
while(false !== ($fichier = readdir($repertoire))) //lecture des fichiers du répertoire courant 1par1
{
$infos = pathinfo($chemin); //infos du fichier
$extension = $infos['extension']; //récupération de l’extension
if($extension == « html ») unlink($fichier); //suppresion des fichiers html
}
closedir($repertoire);
?>
Et voilà, il ne reste plus qu’à ajouter un appel à ce script à l’endroit souhaité afin d’automatiser tout celà. J’ai choisi de placer cet appel à la publication.