[PHP] probleme avec la fonction SLEEP()

Fermé
m_jaz3 - 25 déc. 2007 à 17:46
 rafou - 22 juil. 2008 à 18:00
Bonjour,
j'essai tout betement de faire une page qui m'afficherait un texte et au bout de quelques secondes un autre
voici le code que j'ai fait

Code :
<?php
echo '<html>
<body>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"><b><font face="Verdana" color="#008000">CLIENT SUPPRIMÈ AVEC 
SUCCÈS</font></b></p>
</body>
</html>';
sleep(2);
echo 'test';
?>

Le probleme est qu'au lieu que le premier texte s'affiche puis le second apres 2 secondes , et bien le delai d'attente (2 secondes ) s'efectue pendant le chargement de la page.Et quand la page est completement chargée je trouve les 2 textes deja ecrits.
bizarre non.
Quelqu'un aurait il une idee??
merci
A voir également:

6 réponses

tout bête:
Le PHP s'exécute coté server, donc quand la page ce charge ton script est lue et exécuter par le server, PUIS elle apparait. Donc ton serveur a bien attendu avant d'exécuter la suite, mais apres avoir attendu il a exécuter le reste et t'as afficher le résultat.... si tu veux faire attendre le client et non pas le serveur utilise le java script...
Bonne journée
3
BON!!!
j'ai réglé le probleme avec du JAVASCRIPT

[code]
<Script language="JavaScript">
setTimeout("document.location = 'ma_page.php' ", 2000)
</script>
[/code]
Si ca interesse qqun
je sais meme pas si je dois mettre le post comme résolu.
Avis au moderateur.
2
ben ecoute il se passe rien.
De toute maniere, le probleme n'est pas la .
Pourquoi devrais je contourner un fonction aussi simple que sleep().
Pourquoi cette fonction agit avant l'pparition du premier texte .c'est a dire pendant le chargement de la page??
merci
0
salut
j'ai testé ton code et regarde la reponse que je reçois:
0 sec
c'est comme si il y avait pas eu de delai
ca me rend dingue
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eolange Messages postés 103 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 23 avril 2009 2
25 déc. 2007 à 21:56
essai ca pour voir :)

1. <?php
2. function getmicrotime(){
3. list($usec, $sec) = explode(" ",microtime());
4. return ((float)$usec + (float)$sec);
5. }
6. $time_start = getmicrotime();
7. for ($i=0; $i < 1000; $i++){
8. //ne rien faire, pendant un millier de fois...
9. }
10. $time_end = getmicrotime();
11. $time = round($time_end - $time_start, 3);
12. echo "<font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#FFFFFF'> Page générée en $time secondes</font>";
13. ?>

( https://forum.hardware.fr/hfr/Programmation/php-getmicrotime-sujet_15228_1.htm )
-1
eolange Messages postés 103 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 23 avril 2009 2
25 déc. 2007 à 20:06
pourquoi tu lance pas une fonction qui calcul le tps d'affichage puis une fois calculé tu lance le sleep ?

function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$debut = getmicrotime();


la s'affiche la page..


$fin = getmicrotime();
echo round($fin-$debut, 3)."sec";

if ($fin!=null)
{
sleep(2);
}

ou bien en javascript :)
-3