Outils pour utilisateurs

Outils du site


php:cache

Mettre une page web en cache

le code ci-dessous pourra metre une page web en cache pour eviter de réitérer les meme requetes php

header.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() ;
 
}
?>
footer.php
<?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() ;
}
?>
index.php
<code>
<?php
 
Include 'header.php' ;
 
if ( !$caching) {
   echo "test000";
}
 
Include 'footer.php' ;
 
?>

Retour...

php/cache.txt · Dernière modification: 2019/01/25 15:56 (modification externe)