Comment créer un cache ?

HamtaroHamtaro Member
novembre 2010 modifié dans Entraide et S.A.T
Bonjour !

J'ai récupérer un petit bout de code me permettant d'afficher les miniatures de photo que j'héberge sur le service img.ly
<?php
function imgly_pics($username = '', $num = 4, $linked = true) {
	$file = @file_get_contents("http://img.ly/images/".$username.".rss");

	for($i = 1; $i <= $num; ++$i) {

		$imageid = explode('<title>http://img.ly/', $file);
		$imageid = explode('</title>', $imageid[$i]);
		$imageid = trim($imageid[0]);

			echo '<li class="img_list">';
		if($linked == true) {
			echo '<a href="http://img.ly/'.$imageid.'" target="_blank" title="Photo">';
		}
			echo '<img src="http://img.ly/show/mini/'.$imageid.'" class="imgly" alt="Photo de img.ly" />';
		if($linked == true) {
			echo '</a>';
		}
			echo '</li>';
	}
}
?>
<ul>
 <?php imgly_pics($username = Hamtaro, $num = 6); ?>
</ul>
Ca marche nickel mais je me dis que le mieux ce serait quand même d'aller "pomper" les données sur un fichier en local en vérifiant sa date de mise à jour et de récupérer les infos ou non sur le fichier distant. Non ?

Je ne sais pas si je me suis bien expliqué...
Je ne voudrais pas qu'à chaque affichage de la page, les données soient directement piochées sur le fichier du serveur...

Quelqu'un peut m'aider ?

Je pense qu'un refresh du fichier en cache toutes les 30 minutes voir heure seraient pas mal. ;-

TCho, Hamtaro.

Réponses

  • Coucou Hamtaro,

    Tu pourrais te baser sur timthumbs, un petit lien qui fonctionne avec imagemagick.

    Je l'utilise pour un petit projet perso et c'est vrai qu'il est la référence de la générations de vignettes avec cache par excellence :)
  • Sincèrement, j'ai rien compris et surtout c'est un peu trop pour ce que je veux...

    En effet, l'hébergeur img.ly fait déjà lui même les thumbs, je veux juste récupérer le xml (rss) de ma page profil, le mettre en cache (les données, pas les photos), et l'utiliser pour afficher les images. ;)
    Du coup, en fait, je le récupère qu'une fois tous les heures et non pas à chaque affichage côté navigateur comme maintenant...
  • Je fais un petit up voir si quelqu'un est dipso pour réfléchir sur le sujet avec moi...
Connectez-vous ou Inscrivez-vous pour répondre.