Bonjour à tous,
Je vais essayer de vous expliquer mon problème de la maniére la plus claire possible.
J'utilise un systeme de cache pour mon site, il est basé sur le tutoriel de Docteur Night que beaucoups d'entre vous connaisse. A part quelques petites modification les fonctions sont identiques.
A chaque fois que du contenu est ajouté je supprime le fichier ou les fichiers caches concernés, le site sais alors qu'il faut le mettre à jour puisque il ne le trouve plus.
Jusque la tout va bien, mais arrivé à la mise en cache du forum l'affaire se complique quelque peut, a chaque fois qu'un message est posté je doit supprimer tous les caches du forum en question (1 par page).
Un petit exemple pour vous aidez à comprendre, si mon forum contient 8 pages il faut supprimer.
donnees_forum_1_page_1.cache
donnees_forum_1_page_2.cache
donnees_forum_1_page_3.cache
donnees_forum_1_page_4.cache
donnees_forum_1_page_5.cache
donnees_forum_1_page_6.cache
donnees_forum_1_page_7.cache
donnees_forum_1_page_8.cache
Actuellement j'utilise une boucle pour faire sa qui ressemble a sa:
// On fait une boucle pour supprimer tous les caches des differentes pages
$page_a_supprimer=1;
while($page_a_supprimer <= $nombre_pages)
{
destroy_cache('../../', 'sujets_forum_'.$forum.'_page_'.$page_a_supprimer);
$page_a_supprimer++;
}
Cela marche très bien mais je ne suis pas dutout satisfer pour deux raison, la premiere est d'utiliser une boucle et la deusieme qui est la plus importante c'est que dans certaine page je doit lancer une requete SQL rien que pour recuperer le nombre de pages du forum pour savoir quand la boucle doit s'arreter.
C'est un peut du bouffage de ressource pour moi cet assemblage, je creer donc ce topic pour savoir si vous connaissais une fonction capable de supprimer un ensemble de fichiers selon une expression dans leur nom.
Ce que je voudrais pouvoir faire c'est dire:
Supprime tous les fichiers dont le nom contient:
sujets_forum_1_page_
Tous les fichiers caches serait donc supprimé en evitant la boucle et la requete.
Merci beaucoups.
Partager