Le flush de PHP ne fonctinne pas sous IE7 [Résolu]

Messages postés
3
Date d'inscription
jeudi 22 mai 2003
Dernière intervention
13 juillet 2009
- - Dernière réponse : pleblanc
Messages postés
3
Date d'inscription
jeudi 22 mai 2003
Dernière intervention
13 juillet 2009
- 13 juil. 2009 à 08:48
Bonjour,
Je veux que le navigateur commence à afficher des messages alors même que la page n'est pas totalement chargée.
En fait j'ai une boucle php, avec une petite tempo, et je veux qu'à chaque passage un message s'affiche à l'écran.
Ca marche super sous Firefox mais pas sousIE7.
IE7 mets les messages en cache et attend la fin du script pour tout afficher d'un seul coup.
Vous pouvez tester ce script et voir le code source sur
http://www.caplaser.fr/sitesclients/midiporc/php/flush.php


Dans le php.ini j'ai bien output_buffering <gras>Off et zlib.output_compression Off</gras>
J'ai testé sur un serveur IIS et sur un Apache, même souci.
Ce qui est bizarre c'est que si je lance la page depuis mon localhost, ça marche avec IE7, mais dès que je mets en ligne ça marche plus.
Merci pour votre aide!

Patrick Leblanc
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
3
Merci
Salut,

Je n'ai pas IE7 sous la main mais à première vue ça fonctionne sous IE8.

Ce que je ferais :
- mettre un ob_start();
- ajouter une valeur aléatoire au nom du fichier :
flush.php?truc=valeurUniqueAléatoire
de manière à se préserver de toute mise en cache
- ajouter des caractères aux lignes renvoyées pour que chaque flush envoie au minimum 256 caractères (test avec 512 si ça ne change rien). Certains navigateurs bufferisent la trame avant l'affichage, ou attendent la fermeture d'une balise :
echo "
Loop $i in progress...[256 car]
";

Test chacune de ces solutions et dis nous "quoi"

Quel est le but exact de ce script ? Je pose la question car il y a de grandes chances que ta solution soit loin d'être la meilleure. Il ne faut pas oublier ton "for" bloque le script pendant 6 secondes.

Cordialement,

Kohntark -

Merci kohntark 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de kohntark
Messages postés
3
Date d'inscription
jeudi 22 mai 2003
Dernière intervention
13 juillet 2009
0
Merci
Salut Kohntark et merci pour ta réponse.

Info de dernière minute :
après 3 jours (véridique!) passés à essayer de faire marcher mon script, j'ai enfin trouvé la cause de mon problème : l'antivirus SOPHOS sur ma machine. Comme nous avons tous le même antivirus dans la boîte, tous les autres postes présentaient le même symptôme que le mien.
Nous en avons parlé avec le service technique de Sophos qui nous a conseillé de désactiver le module complémentaire "Sophos Web Content Scanner", celui-ci présentant un bug sous IE qui sera corrigé fin août...
Je l'ai donc désactivé, et youpi, tout fonctionne!

Patrick Leblanc
Commenter la réponse de pleblanc

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.