Anticiper l'affichage Echo en php
Résolu/FerméHerve_be Messages postés 1066 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 23 septembre 2024 - 3 avril 2023 à 12:14
- Anticiper l'affichage Echo en php
- Echo discord - Forum Casque et écouteurs
- Easy php - Télécharger - Divers Web & Internet
- Echo lors d'un appel samsung - Forum Samsung
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
4 réponses
2 avril 2023 à 18:06
bonjour,
C'est probablement le navigateur qui attend avant d'afficher les résultats.
2 avril 2023 à 18:35
Ben oui, c'est ma question : comment forcer l'affichage ?
2 avril 2023 à 19:33
Bonjour,
Tu dis avoir utilisé ob_flush
mais as tu mis un ob_start(); ? et un ob_implicit_flush() ?
par exemple
<?php ob_start(); // not needed if output_buffering is on in php.ini ob_implicit_flush(); // implicitly calls flush() after every ob_flush() echo "This output is buffered.\n"; echo "As is this.\n"; for ($i = 0; $i < 10; $i++) { echo "$i\n"; ob_flush(); sleep(1); } ?>
Voir la doc : https://www.php.net/manual/fr/function.ob-implicit-flush.php
3 avril 2023 à 09:30
Ton exemple donne "This output is buffered. As is this. 0 1 2 3 4 5 6 7 8 9" qui s'affiche d'un coup après 10 secondes.
J'utilise habituelles Chrome; j'ai essayé avec Firefox et Edge : idem.
Voici php.ini
<?php date.timezone = "Europe/Brussels" file_uploads = On ?>
3 avril 2023 à 11:19
Ton exemple sur mon serveur est ici https://www.rudyv.be/Aquarium/RVRT/TestFlush.php
Si tu veux bien l'essayer pour voir si le problème vient du navigateur ou du serveur
Merci
3 avril 2023 à 11:44
Le problème vient du serveur: le serveur n'envoie rien pendant 10 secondes, puis tout en une fois.
3 avril 2023 à 12:14
J'ai ajouté
echo str_repeat(' ',1024*64);
ceci force le serveur à envoyer le buffer parce qu'il est plein.
ça fonctionne, problème résolu.