Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR
PEAR Forum d'entraide sur le framework PHP : PEAR. Avant de poster -> cours PEAR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2007, 11h01   #1
Nouveau Membre du Club
 
Développeur Web
Inscription : février 2005
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2005
Messages : 63
Points : 25
Points : 25
Par défaut Système de cache de pear

Bonjour
J ai un petit probleme avec la gestion du cache de pear.
Voila, j ai menu qui, avant ma modif taper sur la base de donnee pour afficher une liste d'article, et qui maintenant , est enregistré dans des fichiers .txt pour eviter de taper trop souvent sur la base de donnee.
L'enregistrement et la lecture marche tres bien mais j ai un petit soucis.
Ayant plusieurs serveurs, je dois faire des synchronisation et j aimerais que ces fichiers ne passe pas si rien n est fait dans ces fichiers textes. Hors avec pear, a priori, si je fait une lecture dans un des fichiers texte, la date de modif se reactualise a celle du jour de la lecture
Ce qui fait que les fichiers passent a chaque synchro!

Pourriez vous me dire si'il y a un beug dans pear et/ou si il y a une petite modif a faire dans les classe pour eviter cette modification?

J appelle les classes de cette facon :

Code :
1
2
3
4
5
6
7
8
include_once(PEAR.'/Cache/Cache.php');
$cache = new Cache('file', array('cache_dir' => CACHE.'/Menu/') );
$id ='ListeMarche'.$pays.$langue;
$ad='ListeMarche';
i$listeMarches= $cache->get($id,$ad);
 
Pour la savegarde :
$cache->save($id,$resultat,0,$ad);
Merci pour votre aide futur!!

Tiger63
Ke le tigre soit en toi!!
tiger63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 11h59   #2
Nouveau Membre du Club
 
Développeur Web
Inscription : février 2005
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2005
Messages : 63
Points : 25
Points : 25
Par défaut [resolu]

Bon bin j ai trouver comment resoudre mon probleme
Le truc c'est qu'il y a un touch dans la fonction fetch de file.php.
J ai donc desactiver cette fonction touch de cette facon

j ai integer dans le fichier cache.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
   /**
        *   For change modification date
        *   @ boolean
        *   $var activetouch 
        */
    var $activetouch = true;
 
 
 
  /** 
        *
        * Enabled or disabled touching
        *
        *@param boolean
        *@ access public
        **/
    function activationtouch($active=true){
        $this->activetouch=$active;
    }
et dans le fichier file.php :

Code :
1
2
3
  if($this->activetouch){
            touch($file,time());
        }
et enfin dans mon fichier de la creation et lecture du cache :
Code :
  $cache->activationtouch(false);

Voili voilou

J espere que cela va vous servir
A plus tt le monde!

tiger63
ke le tigre soit en toi
tiger63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h58.


 
 
 
 
Partenaires

Hébergement Web