27 Mai 2008
En PHP mise en colonne de datas
Compatibilité : PHP 5, PHP 7, PHP 8
Cette fonction met une mise en colonne de datas pour affichage HTML en passant le tableau et le nombre de colonnes.
Ce script contient les fonctions pour la gestion du cache. Exemple détaillé d'une mise en cache fournie avec le code.
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.
|
| php.net | Description | Versions PHP | OUTIL |
|---|---|---|---|
| define | Définit une constante - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| die | Alias de la fonction exit() - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| echo | Affiche une chaîne de caractères - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| empty | Détermine si une variable contient une valeur non nulle - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| exit | Affiche un message et termine le script courant - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| fclose | Ferme un fichier - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| filemtime | Renvoie la date de dernière modification du fichier - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| file_exists | Vérifie si un fichier existe - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| fopen | Ouverture d'un fichier ou d'une URL - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| function_exists | Indique si une fonction est définie - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| fwrite | Ecrit un fichier en mode binaire - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| gmdate | Formate une date/heure GMT/CUT - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| header | Envoie un en-tête HTTP - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ignore_user_abort | Active l'interruption de script sur déconnexion du visiteur - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ini_get | Lit la valeur d'une option de configuration - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| isset | Détermine si une variable est affectée - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| md5 | Calcule le md5 d'une chaîne - (PHP 4, PHP 5, PHP 7, PECL... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| mkdir | Crée un dossier - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_end_clean | Détruit les données du tampon de sortie et éteint - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_end_flush | Envoie les données du tampon de sortie et éteint la - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_get_contents | Retourne le contenu du tampon de sortie - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_get_length | Retourne la longueur du contenu du tampon de sortie - (PHP 4 >= 4.0.2, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_get_level | Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie - (PHP 4 >= 4.2.0, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| ob_start | Enclenche la tamporisation de sortie - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| preg_replace | Rechercher et remplacer par expression rationnelle standard - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| readfile | Affiche un fichier - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| return | Retourne le controle du programme au module appelant. - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| rtrim | Supprime les espaces (ou d'autres caractères) de fin de chaîne - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| set_time_limit | Fixe le temps maximum d'exécution d'un script - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| strtotime | Transforme un texte anglais en timestamp - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| time | Retourne le timestamp UNIX actuel - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| unlink | Efface un fichier - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
| urlencode | Encode une chaîne en URL - (PHP 4, PHP... | PHP 4, PHP 5, PHP 7, PHP 8 | |
Cette fonction met une mise en colonne de datas pour affichage HTML en passant le tableau et le nombre de colonnes.
Il arrive que l'on doive faire une redirection définitive d'un ancien site vers un nouveau. Il faut alors mettre en place une redirection 301 sur chaque page.
Ajouter cette simple ligne de code à votre page php pour afficher la date de la dernière mise à jour de cette page.
Sélectionne et affiche la dernière image mise à jour dans un répertoire donné. Le répertoire ne doit contenir que des images car la sélection des extensions
Le cache du navigateur garde les CSS / JS en cache, voici 1 solution pour qu'ils soient rechargés a chaque modification.
Netphotos
20 Juin 2008 à 15:24moi spécialement j'utilise celle ci qui est tres simple d'utilisation
// 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) ob_start();
// Le contenu de votre page à mettre en cache ici
echo '...';
// 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);
}
?>