[PHP] Equivalent CTRL+F5 - Refresh complet sans cache

Equivalent CTRL+F5 - Refresh complet sans cache [PHP] - PHP - Programmation

Marsh Posté le 08-02-2009 à 13:01:03    

Hello tlm,
 
Petit souci du dimanche : j'ai une page php qui regroupe plusieurs graphiques au format flash (Open Flash Chart, excellent)...
 
Le pb, lorsque je fais un refresh "standard" (F5), mes graphiques ne se rechargent pas avec les nvelles données...
Cela ne fonctionne que si je fais un refresh "complet" (CTRL+F5)...
 
Existe-t-il un moyen en php de simuler cela, pour forcer IE a ne pas utiliser son cache pour recharger les graphiques ?
 
Merci d'avance,
 
m.


Message édité par jay-jay69 le 08-02-2009 à 13:01:25
Reply

Marsh Posté le 08-02-2009 à 13:01:03   

Reply

Marsh Posté le 08-02-2009 à 13:49:48    

Essaye çà :

Code :
  1. header("Cache-Control: no-cache, must-revalidate" );
  2. //ou
  3. header("Pragma: no-cache" );

;)

Message cité 1 fois
Message édité par Profil supprimé le 08-02-2009 à 13:49:59
Reply

Marsh Posté le 08-02-2009 à 14:08:02    

oui mais non. au final c'est toujours le navigateur qui décide de la gestion de son cache


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-02-2009 à 14:58:30    


Ca n'aura d'action que sur la page PHP, pas sur les charts en flash (sauf si les charts prennent leurs données de la page, ce dont je doute)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-02-2009 à 15:24:42    

arf c'est con :/

Reply

Marsh Posté le 08-02-2009 à 15:36:44    

ajout une variable aléatoire au bout de tes url de recuperation de données


---------------

Reply

Marsh Posté le 08-02-2009 à 15:44:41    

ou bien le microtime() tout simplement (au moins tu es sûr de ne pas avoir de cache)

Reply

Marsh Posté le 08-02-2009 à 16:43:05    

merci pour vos réponses...
 

Code :
  1. header("Cache-Control: no-cache, must-revalidate" );


 
j'ai mis ca sur l'ensemble de pages de données sur lesquelles se basent mes graphes...
et ca semble fonctionner !!! :)
 
merci a tous !!!

Reply

Marsh Posté le 08-02-2009 à 16:45:57    

j'avais pensé au microtime... mais ca me paraissait compliqué pour pas grand chose...

Reply

Marsh Posté le 10-02-2009 à 14:12:27    

çà me fait penser que j'ai le problème inverse...
J'appelle l'image image.php?id=2 par exemple (ou 2 sera toujours 2) et ff recharge toujours la base donc çà implique une requête supplémentaire, etc... Comment forcer la mise en cache de cette image ???

Reply

Marsh Posté le 10-02-2009 à 14:12:27   

Reply

Marsh Posté le 10-02-2009 à 14:21:53    

en ajoutant les bons headers dans ta génération d'image  ?


---------------

Reply

Marsh Posté le 10-02-2009 à 14:58:13    

oui mais c-à-d ? Je ne vois pas vraiment comment faire...
Et je ne comprends pas pourquoi l'image n'est pas mise en cache :??:

Reply

Marsh Posté le 19-02-2009 à 10:55:09    


Je me permets de upper ce sujet, parce que je ne vois toujours pas comment forcer la mise en cache :(
J'ai beau chercher :(  :??:  
Merci.

Reply

Marsh Posté le 19-02-2009 à 11:25:40    

habituellement on utilise les header expires  pour forcer  la relecture du fichier
logiquement, il doit être possible de les utiliser pour forcer la mise en cache


---------------

Reply

Marsh Posté le 19-02-2009 à 14:51:37    

Justement j'avais essayé çà

Code :
  1. $time = time() + 3600 * 24;
  2. $date = gmdate("D, d M Y H:i:s", $time);
  3.  
  4. header("Content-Type: $mime" );
  5. header("Expires: $date GMT" );
  6. readfile($image);


Mais firefox refuse toujours de mettre l'image en cache...
Enfin je dis firefox mais je ne sais pas si qu'il en est ailleurs, je vais tester.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed