j'ai besoin de votre aide concernant include et les conditions pur mettre en place un cache de fichier.
Je souhaite include au début du fichier meta.php (qui est lui même appelé sur toutes les pages), le code cache de fichier suivant :
<?php
$nom_page = basename($_SERVER['PHP_SELF']);
$nom_page = str_replace('php','html',$nom_page);
$cache = "$_SERVER[DOCUMENT_ROOT]/cache/$nom_page";
$expire = time() - 108000 ;
if(file_exists($cache) && filemtime($cache) > $expire){
readfile($cache);
}
else{
ob_start();
?>
Dans le module footer.php, j'inclue le reste du code cache de fichier soit :
<?php
$tampon = ob_get_contents();
file_put_contents($cache, $tampon);
ob_end_flush();
ob_end_clean();
}
?>
Le code de la page structurellement parlant ressemble à cela : <?php
session_start();
include("MODULES/meta.php");
?>
entre balises body (php, mysql ...)
<?php
include("MODULES/footer.php")
?>
PROBLEME : le code m'indique que je n'ai pas fermé le else (or celui est bien fermé dans l'include qui termine le cache)Parse error: syntax error, unexpected end of file in /xxx/xxx/xxx/MODULES/cacheA.php on line 12
Seule solution :que j'ai trouvé, ouvrir chaque page et insérer manuellement le code cache sans passer par les include ...
Si vous avez une solution, je suis preneur !
merci d'avance