Afficher la sortie au fur et à mesure

Pour afficher la sortie d’un script PHP au fur et à mesure de son exécution, il suffit d’utiliser les fonctions suivantes, dans cet ordre :

ob_implicit_flush(true);
ob_end_flush();

Dans un exemple concret :

ob_implicit_flush(true);
ob_end_flush();

for($i=1; $i<=10; $i++)
{
  echo "
	
  • Ligne $i
  • \n"; sleep(1); }

    Voir l’exemple ici.
    Une des utilisations possibles est par exemple lors de l’exécution d’un batch, pour afficher le déroulement de celui-ci au fur et à mesure. Encore qu’un batch n’a pas forcément de légitimité à être exécuté depuis une URL.
    D’ailleurs, notez qu’en mode ligne de commande, il n’est pas nécessaire d’activer le « flush » implicite, c’est le cas par défaut. Donc pas besoin d’utiliser les 2 fonctions.