le code ci-dessous pourra metre une page web en cache pour eviter de réitérer les meme requetes php
<?php // On définit la duré de validité 30 minutes $expireTime = time () -1800 ; $caching = FALSE ; $url = $_SERVER['REQUEST_URI'] ; $url = str_replace('/','-',$url); $cacheFile = "cache/".$url. '.html' ; //si le fichier cache existe ou pas if( file_exists($cacheFile) ) { if (filemtime($cacheFile) < $expireTime) { ob_start(); } else { $caching = TRUE ; readfile($cacheFile); } } else { ob_start() ; } ?>
<?php // si on doit recréer ou non le cache If ( !$caching) { // Le cache n'existe pas on doit le créer $buffer = ob_get_contents(); // on crée un cache pour l'url correspondante $fp = fopen($cacheFile, "w"); if ($fp) { fputs($fp,$buffer); fclose($fp); } // On efface le buffer et on affiche ob_clean() ; ob_end_flush() ; } ?>
<code> <?php Include 'header.php' ; if ( !$caching) { echo "test000"; } Include 'footer.php' ; ?>