Boucle PHP; comment imprimer chaque résultat et retarder pendant une seconde avant d'en écho à un autre résultat?
c'est ma première question sur stackoverflow, je viens de curieux.. est-il possible de retarder boucle en PHP ? Je suis en train d'imprimer chaque résultat au navigateur et à interrompre le script à l'aide de sleep() avant de traiter une autre boucle, mais cela ne fonctionne pas, voici le script que j'utilise:
<?php
$n = 1;
while ($n < 10) {
echo $n."<br />";
$n++;
sleep(1);
}
?>
PS: j'utilise Firefox et Apache2 sur Linux Mint.
- Vous avez besoin d'utiliser le tampon de sortie trop
- "pas de travail" est un très inutile description. 🙂
- désolé, ce que je veux dire par "pas de travail"; le navigateur attendez environ 10 secondes et en écho le résultat final tous ensemble ( tous les chiffres de 1 à 9), non pas un par un, comme ce que je veux atteindre..
Vous devez vous connecter pour publier un commentaire.
Serveurs habituellement tampon de la sortie d'un serveur de script côté jusqu'à ce qu'il y a assez en elle pour la sortie
essayez quelque chose comme ça. Combinaison de réglage de tampon de sortie off manuellement et de rinçage de la mémoire tampon. Remarque le implcit ligne de purge et la chasse d'eau et ob_flush lignes.
PHP s'exécute et rend sa sortie complètement avant que la page s'affiche son contenu. Donc, non, vous ne pouvez pas retarder la boucle PHP comme vous le souhaitez.
Vous pourrait et devrait le faire avec javascript. Si vous avez besoin d'informations à partir du serveur imprimé sur du retard comme cela, vous pouvez utiliser AJAX pour tirer des informations à partir du serveur comme il devient disponible.