Je crois que c’est le titre le plus pourri que j’ai jamais fait
La mise en cache de fichiers peut être très utile, notemment si on appelle régulierement des flux RSS/XML (par exemple si on utilise des Webservices), ou même sur des requêtes MySql qui reviennent souvent. Le gain en performances est tout à fait appréciable !
Le principe est on ne peut plus simple : au lieu d’effectuer une requête vers une ressource à chaque chargement de la page, on écrit lors du premier chargement le contenu de la ressource dans un fichier texte, qu’on appellera par la suite !
Mettre un menu dynamique en cache peut être une très bonne idée pour optimiser le chargement d’un site web
L’exemple qui suit vous présente l’utilisation de la mise en cache sur un flux RSS.
Script php
// recuperation du flux à traiter
$flux = ‘http://feeds.feedburner.com/jegalereenwebdev’;
$cache_file = ‘/cache/jegalere.xml’;
// determination du temps de mise en cache (en secondes) : ici, 2h
$delai = (60*2) ;
// on verifie que le fichier est cache est toujours valide
if ( file_exists($cache_file) & time() < (filemtime($cache_file)+$delai) ) {
// le fichier en cache est valide, on le récupère
$content = file_get_contents($cache_file);
}
// sinon, on met à jour le fichier en cache
else {
$content = file_get_contents($flux);
if ( $content != ” ) {
$file = fopen($cache_file, ‘w+’);
fputs($file, $content);
fclose($file);
}
else {
$content = file_get_contents($rss_file);
}
}
Et voila !
Il ne reste plus qu’à parser la variable $content de la manière que vous préférez, et c’est plié !