if (defined ("CACHE_THIS_PAGE")) { function cache_ob_uniqueid() { return $_SERVER['REQUEST_URI'];// -- ERREUR -- : il faut iclure ici le Switch sinon le fichier mis en cache // n'aurra jamias le même nom que le fichier que l'on recherche, ce qui nous donne => /* switch (CACHE_TYPE) { case "FILE" : $id = "F" . $_SERVER['REQUEST_URI']; break; case "SHM" : $id = "M" . $_SERVER['REQUEST_URI']; break; default : // Affiche une erreur user_error ("Type de cache invalide " . CACHE_TYPE, E_ERROR); die(); } return $id; // il y a une deuxième erreur, dans les fonction cache_get_cached_version() et cache_cache() les // lettres "F" et "M" sont en majuscules, il faut donc les mettre en majuscules ici aussi // car md5 est sensible à la casse (par rapport aux tests que j'ai fait, car je ne l'ai vu marqué nulle part). // Il faut bien évidement aussi enlever le return $_SERVER['REQUEST_URI']; au début de la fonction */ } function cache_ob_handler ($buffer) { // Determine l'identifiant de la page $id = cache_ob_uniqueid(); // met en cache cette valeur cache_cache ($id, $buffer, CACHE_TIMEOUT); return $buffer; } // Determine l'identifiant de la page $id = cache_ob_uniqueid();// -- ERREUR -- : il faut définir toutes les contantes avant d'appeler les fonctions qui s'en servent // Utilisez un delai d'expiration d'une heure if (!defined ("CACHE_TIMEOUT")) { define (CACHE_TIMEOUT, 3600); } // Determine le type de cache if (!defined ("CACHE_TYPE")) { // Utilise les fichiers par défaut define ("CACHE_TYPE", "FILE"); } switch (CACHE_TYPE) {// -- ERREUR -- : voir plus haut la fonction cache_ob_uniqueid() case "FILE" : $id = "f" . $id; break; case "SHM" : $id = "m" . $id; break; default : // Affiche une erreur user_error ("Type de cache invalide " . CACHE_TYPE, E_ERROR); die(); } // Vérifie si la version en cache existe if (($data = cache_get_cached_version($id)) == false) // Ok, nous l'avons et elle est bonne // affichage et fin echo ($data); die(); } else { // Le cache est invalide. Génération ob_start ("cache_ob_handler"); } // Netoyage unset ($id); unset ($data); }