Comment faire attendre avant exécution d'une partie de scrip

Eléphanteau du PHP | 19 Messages

16 juin 2006, 03:35

Je cherche mais je trouve pas comment faire pour que mon script attende quelques secondes avant de continué l'éxécution.

exemple:
if (10sec passé)
{
$echo 'Salut';
}
else
{
$echo 'Veiller patienter 10sec...';
}

merci a ceux qui aurait la réponse.

Eléphant du PHP | 417 Messages

16 juin 2006, 04:12

---
Modifié en dernier par JazzFinder le 28 juin 2006, 15:02, modifié 1 fois.

Eléphant du PHP | 72 Messages

16 juin 2006, 11:24

Pour 10 secondes on a aussi sleep() qui est encore plus simple :D

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

16 juin 2006, 12:31

Mais pourquoi attendre? c'est ça la question.
Si c'est le script qui doit attendre c'est une erreur car c'est une perte de temps
Par contre, s'il s'agit simplement de dire à l'utilisateur d'attendre que le script puisse terminer ce qu'il a à faire, c'est justifié. Et à ce moment là, il faut le dire avant de lancer le script en envoyant l'echo au client.

La fonction ob_flash() ou flash() permet notamment de forcer l'echo en cours de traitement php.

Exemple :
<?php 
echo "<p>Veuillez patienter s.v.p."; 
flush(); //afficher les echo maintenant et continuer le traitement 

//Boucle pour simuler un procéssus qui occupe le serveur 
$i=1; 
while ($i<100000){ 
    echo "<p>Je travaille ..."; 
    flush(); //afficher les echo maintenant et continuer le traitement 
         $i++; 
}
echo "<p>Fin du traitement" ;
?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 245 Messages

29 avr. 2011, 16:48

Mais pourquoi attendre? c'est ça la question.
C'est utilie parfois d'attendre avant de continuer un script :

Par exemple : on a des emails a envoyer, on fait un script php qui tourne en ligne de commande en tache planifié.
Pour ne pas balancer trop de mail en même temps et être considérer comme du SPAM
On peut introduire des petits temps d'attente entre l'envoi de mail (tous les mails, tous les 100 mails, ...)