Gestion des pages en cache
Ce script contient les fonctions pour la gestion du cache. Si la date HTTP_IF_MODIFIED_SINCE est renseignée et que le cache n'a pas été modifié depuis cette date, on ne renvoie qu'un statut 304 (Not modified). Si les options le permettent le contenu de la page est compressé avant d'être envoyé.
La fonction get_cache_name permet de déterminer le nom du fichier cache en fonction de l'url. Les fichiers caches sont sauvegardés dans un répertoire /cache/ à la racine du site. L'url est encodé avec la fonction md5 pour constituer le nom du fichier suivi de l'extension .html.
La fonction delete_cache_file permet de supprimer le fichier cache en fonction de l'url.
La fonction start_buffer permet d'envoyer le fichier cache si il existe, si il date de moins de 24H et si le paramètre de la fonction est true. Elle doit être placée le plus haut possible dans le script (avant tout affichage de données). Il est possible de ne pas envoyer le fichier en cache en mettant false comme paramètre (par exemple pour remplacer le fichier cache).
La fonction end_buffer permet de sauvegarder le fichier cache si le paramètre de la fonction est true. Le contenu de la page est ensuite envoyée au navigateur. Elle doit être placée à la fin des scripts après la génération du contenu. Il est possible de ne pas sauvegarder le fichier cache en mettant false comme paramètre (par exemple quand la page a des paramètres POST)
La fonction gere_erreur peut être utilisée pour gérer les erreurs (par exemple MYSQL). Il faut l'appeler quand on est dans l'impossibilité de générer le contenu de la page. Elle envoie le fichier cache si il existe (même si il est périmé). Sinon une erreur 503 est renvoyée (Service temporairement indisponible) qui indique aux moteurs de recherche qu'il faut revenir 1H plus tard.
La fonction get_cache_name permet de déterminer le nom du fichier cache en fonction de l'url. Les fichiers caches sont sauvegardés dans un répertoire /cache/ à la racine du site. L'url est encodé avec la fonction md5 pour constituer le nom du fichier suivi de l'extension .html.
La fonction delete_cache_file permet de supprimer le fichier cache en fonction de l'url.
La fonction start_buffer permet d'envoyer le fichier cache si il existe, si il date de moins de 24H et si le paramètre de la fonction est true. Elle doit être placée le plus haut possible dans le script (avant tout affichage de données). Il est possible de ne pas envoyer le fichier en cache en mettant false comme paramètre (par exemple pour remplacer le fichier cache).
La fonction end_buffer permet de sauvegarder le fichier cache si le paramètre de la fonction est true. Le contenu de la page est ensuite envoyée au navigateur. Elle doit être placée à la fin des scripts après la génération du contenu. Il est possible de ne pas sauvegarder le fichier cache en mettant false comme paramètre (par exemple quand la page a des paramètres POST)
La fonction gere_erreur peut être utilisée pour gérer les erreurs (par exemple MYSQL). Il faut l'appeler quand on est dans l'impossibilité de générer le contenu de la page. Elle envoie le fichier cache si il existe (même si il est périmé). Sinon une erreur 503 est renvoyée (Service temporairement indisponible) qui indique aux moteurs de recherche qu'il faut revenir 1H plus tard.
|
|
Code Source
Fonctions du code
: Définit une constante - (PHP 4, PHP 5)
: -
: Calcule le md5 d'une chaîne - (PHP 4, PHP 5, PECL hash:1.1-1.3)
: Vérifie si un fichier ou un dossier existe - (PHP 4, PHP 5)
: Efface un fichier - (PHP 4, PHP 5)
: Lit la date de dernière modification du fichier - (PHP 4, PHP 5)
: Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
: Rechercher et remplacer par expression rationnelle standard - (PHP 4, PHP 5)
: - (PHP 4, PHP 5)
: Envoie un en-tête HTTP - (PHP 4, PHP 5)
: Formate une date/heure GMT/CUT - (PHP 4, PHP 5)
: Affiche un message et termine le script courant - (PHP 4, PHP 5)
: Détruit les données du tampon de sortie et éteint la tamporisation de sortie - (PHP...
: Retourne le nombre de niveaux d'imbrications du système de tamporisation de...
: Lit la valeur d'une option de configuration - (PHP 4, PHP 5)
: Indique si une fonction est définie - (PHP 4, PHP 5)
: Enclenche la tamporisation de sortie - (PHP 4, PHP 5)
: Affiche un fichier - (PHP 4, PHP 5)
: Alias de la fonction exit() - (PHP 4, PHP 5)
: Retourne la longueur du contenu du tampon de sortie - (PHP 4 >= 4.0.2, PHP 5)
: Envoie les données du tampon de sortie et éteint la tamporisation de sortie - (PHP 4,...
: Retourne le timestamp UNIX actuel - (PHP 4, PHP 5)
: Active l'interruption de script sur déconnexion du visiteur - (PHP 4, PHP 5)
: Fixe le temps maximum d'exécution d'un script - (PHP 4, PHP 5)
: Ouvre un fichier ou une URL - (PHP 4, PHP 5)
: Écrit un fichier en mode binaire - (PHP 4, PHP 5)
: Retourne le contenu du tampon de sortie - (PHP 4, PHP 5)
: Ferme un fichier - (PHP 4, PHP 5)
: Détermine si une variable est affectée - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Encode une chaîne en URL - (PHP 4, PHP 5)
: Crée un dossier - (PHP 4, PHP 5)
Commentaire
moi spécialement j'utilise celle ci qui est tres simple d'utilisation
<?php
// Du code php à ne pas mettre en cache (dates, variables de session...)
// Le script de mise en cache
$pageurl = ereg_replace('/','-',$_SERVER['REQUEST_URI']);
if($pageurl === '-'){ $pageurl = '-index.html'; }
$cachedir = 'cache/'.$pageurl;
if(@filemtime($cachedir)<time()-(3600*24*14)) {
ob_start();
// Le contenu de votre page à mettre en cache ici
echo '<html>...</html>';
// La suite du script de mise en cache
$cachecontent = ob_get_contents();
ob_end_flush();
$fd = fopen($cachedir,'w');
if($fd){
fwrite($fd,$cachecontent);
fclose($fd);
}
} else {
include($cachedir);
}
?>
<?php
// Du code php à ne pas mettre en cache (dates, variables de session...)
// Le script de mise en cache
$pageurl = ereg_replace('/','-',$_SERVER['REQUEST_URI']);
if($pageurl === '-'){ $pageurl = '-index.html'; }
$cachedir = 'cache/'.$pageurl;
if(@filemtime($cachedir)<time()-(3600*24*14)) {
ob_start();
// Le contenu de votre page à mettre en cache ici
echo '<html>...</html>';
// La suite du script de mise en cache
$cachecontent = ob_get_contents();
ob_end_flush();
$fd = fopen($cachedir,'w');
if($fd){
fwrite($fd,$cachecontent);
fclose($fd);
}
} else {
include($cachedir);
}
?>
Ajouter un commentaire
Librairie PHP
Connexion
Fichiers-Répertoires
- (PHP5) Copie du contenu...
- 2 fonctions PHP pour...
- Afficher tout le contenu...
- Afficher une citation au...
- Afficher une ligne d'un...
- Ajouter des lignes au...
- Calcul du nombre de lignes...
- Changer le mode d'un...
- Class php pour uploader...
- Compte le nombre de ligne
- Compter les fichiers d'un...
- Compteur de visites...
- Compteur de visites...
- Connaitre la taille en...
- Création d'un...
- Création d'un...
- Création massive de...
- Créer un...
- Efface un...
- Effacer un repertoire et...
- Evitez les restrictions de...
- Fenêtre Zoom
- Forcer le...
- Gestion des pages en cache
- Indique si le repertoire...
- Limiter la vitesse de...
- Lire le contenu d'1...
- Liste 1 répertoire
- Liste répertoires...
- Lister un...
- Mettre du code PHP dans un...
- Obtenir l'extention d'un...
- Ouvrir une nouvelle...
- Pour imprimer une page
- Redirection massive avec...
- Rediriger une URL sans le...
- Renomer l'extention de...
- Renverser un fichier pour...
- Supprimer un fichier
- Supression d'un repertoire
- Telecharger des fichiers...
- Uploader un fichier avec...
- [PHP 4] Créer un...
PHP
- Affichage (5)
- Applications (8)
- Chaînes (64)
- Classes (28)
- Constantes (4)
- Cookies (3)
- Date-Heure (33)
- Email (14)
- Fichiers - Réps (43)
- Fonctions (19)
- Formulaires (16)
- GD-Graphiques (11)
- Google (12)
- HTML (6)
- Images (21)
- Inclassable (21)
- Maths (21)
- MySQL (22)
- Navigateurs (6)
- Recherches (6)
- Regex (13)
- Reseau (2)
- Sécurité (24)
- Sessions (11)
- Statistiques (5)
- Système (17)
- Tableaux (19)
- Tag-cloud (3)
- Templates (3)
- Twitter (3)
- URL (20)
- Variables (8)
- Windows (1)
- XML (2)
|
||

























