Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 2023
-
23 déc. 2006 à 16:11
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 2023
-
26 déc. 2006 à 12:43
Je sais que la fonction flush() est sensée envoyer le buffer de sortie au navigateur, mais je n'arrive pas à l'utiliser.
Je voudrais afficher un morceau de la page, faire une pause de quelques secondes puis afficher le reste, je fais donc :
<html>
<?php
echo 'Veuillez patienter...
';
flush();
pause (3);
echo 'Terminé.
'
?>
</html>
Mais le navigateur affiche tout d'un coup, apres avoir mouliné pendant les 3 secondes demandées.
J'ai aussi essayé ob_start, etc... Sans plus de succés.
vilhjalms
Messages postés591Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention16 juillet 20092 23 déc. 2006 à 21:50
Saell og blesuð
younes371 >>Afin de maintenir le propos de kankrelune cf http://www.phpcs.com/code.aspx?ID=40805 Merci d'avoir copier coller l exemple du l'url sur la fonction sleep() que j'avais cite (mais en vs uk)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 24 déc. 2006 à 19:47
Comportement coté client....
PHP n'est pas exécuté coté client.
Utilise JavaScript pour ca. (tu mets ton texte dans un div que tu mets en .visibility hidden, et après tes 10 sec tu mets .visibility normal)
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 25 déc. 2006 à 12:22
Merci les gars, le truc c'est que la pausen'est qu'un exemple !
Il faudrait que l'affichage de la deuxieme partie de ma page ne se fasse qu'une fois une certaine fonction terminée, mais que la premiere partie soit affichée avant le lancement de cette même fonction...
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 26 déc. 2006 à 10:36
C'est quand même couillon : la navigateur reçoi des infos dés le "flush", mais il est pas foutu de les afficher tant que le traitement de la page n'est pas fini.
Bon, je ferai donc 2 pages : la premiere contiendra le debut du texte et la place pour afficher les informations qui seront récupérées par Ajax d'une deuxieme page php.
Merci quand même, bien que je ne comprenne toujours pas pourquoi les navigateur ne sont pas conçu pour afficher des morceaux de la page en cours de traitement... Surtout que ça marche avec les images par exemple : le navigateur affiche bien la page avant que toutes les images soient chargées.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 26 déc. 2006 à 12:43
Merci FhX, c'est un peu le bordel dans les commentaires de cette doc, mais je vais voir ce que je peut en faire. Si j'arrive à quelque chose je vous en informerai (d'ici quelques jours parce que je n'ai pas de serveur sous la main en ce moment...)