Bonsoir,
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je
voudrais attendre qqs secondes entre les affichages de ces lignes.
J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne
part plus. Merci pour un conseil !
(mon but est de réaliser un petit diaporama automatique)
Voici le code:
-----------------------------------------
<?php
# détermine le nom du fichier fleurs à utiliser suivant le mois en cours
$mois = array(1=>'janvier', 'février', 'mars', 'avril', 'mai',
'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
Le 05/11/2013 19:23, alainL a écrit :
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je voudrais attendre qqs secondes entre les affichages de ces lignes. J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne part plus. Merci pour un conseil ! (mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en tampon), et tu peux essayer de rajouter un « flush() » juste avant le « sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien *toute* la description de la page <http://us2.php.net/flush>.
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les agents autres que la protection des fichiers qui est la seule utile. Cf. les discussions récentes sur fr.comp.securite.virus.
Bonjour,
Le 05/11/2013 19:23, alainL a écrit :
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je
voudrais attendre qqs secondes entre les affichages de ces lignes.
J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne
part plus. Merci pour un conseil !
(mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en
tampon), et tu peux essayer de rajouter un « flush() » juste avant le
« sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien
*toute* la description de la page <http://us2.php.net/flush>.
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les
agents autres que la protection des fichiers qui est la seule utile.
Cf. les discussions récentes sur fr.comp.securite.virus.
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je voudrais attendre qqs secondes entre les affichages de ces lignes. J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne part plus. Merci pour un conseil ! (mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en tampon), et tu peux essayer de rajouter un « flush() » juste avant le « sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien *toute* la description de la page <http://us2.php.net/flush>.
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les agents autres que la protection des fichiers qui est la seule utile. Cf. les discussions récentes sur fr.comp.securite.virus.
alainL
Merci. Avec uniquement flush() j'ai l'appel d'une adresse inconnue. En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s : ---------------message erreur ------------------ ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in C:wampwwwAutourdaloshtmllancediapo1.php on line 38 Call Stack # Time Memory Function Location 1 0.0007 375696 {main}( ) ..lancediapo1.php:0 -----------------------------------------------
En distant j'obtiens tout le fichier. Mais les deux premiers affichages arrivent simultanément. La tempor se fait ensuite correctement... Testé sur Ffx et IE8...
( En ligne : http://autourdalos.fr/html/lancediapo1.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://autourdalos.fr/html/lancediapo1.php )
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je voudrais attendre qqs secondes entre les affichages de ces lignes. J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne part plus. Merci pour un conseil ! (mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en tampon), et tu peux essayer de rajouter un « flush() » juste avant le « sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien *toute* la description de la page <http://us2.php.net/flush>.
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les agents autres que la protection des fichiers qui est la seule utile. Cf. les discussions récentes sur fr.comp.securite.virus.
Merci.
Avec uniquement flush() j'ai l'appel d'une adresse inconnue.
En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s :
---------------message erreur ------------------
( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in
C:wampwwwAutourdaloshtmllancediapo1.php on line 38
Call Stack
# Time Memory Function Location
1 0.0007 375696 {main}( ) ..lancediapo1.php:0
-----------------------------------------------
En distant j'obtiens tout le fichier.
Mais les deux premiers affichages arrivent simultanément. La tempor se
fait ensuite correctement... Testé sur Ffx et IE8...
( En ligne : http://autourdalos.fr/html/lancediapo1.php )
AlainL
http://autourdalos.fr
Le 06/11/2013 01:19, Olivier Miakinen a écrit :
Bonjour,
Le 05/11/2013 19:23, alainL a écrit :
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je
voudrais attendre qqs secondes entre les affichages de ces lignes.
J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne
part plus. Merci pour un conseil !
(mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en
tampon), et tu peux essayer de rajouter un « flush() » juste avant le
« sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien
*toute* la description de la page <http://us2.php.net/flush>.
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les
agents autres que la protection des fichiers qui est la seule utile.
Cf. les discussions récentes sur fr.comp.securite.virus.
Merci. Avec uniquement flush() j'ai l'appel d'une adresse inconnue. En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s : ---------------message erreur ------------------ ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in C:wampwwwAutourdaloshtmllancediapo1.php on line 38 Call Stack # Time Memory Function Location 1 0.0007 375696 {main}( ) ..lancediapo1.php:0 -----------------------------------------------
En distant j'obtiens tout le fichier. Mais les deux premiers affichages arrivent simultanément. La tempor se fait ensuite correctement... Testé sur Ffx et IE8...
( En ligne : http://autourdalos.fr/html/lancediapo1.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://autourdalos.fr/html/lancediapo1.php )
Je lis un fichier.text de plusieurs lignes (de 5 enreg chacune)et je voudrais attendre qqs secondes entre les affichages de ces lignes. J'ai essayé sleep(3) juste avant la fin de la boucle mais le script ne part plus. Merci pour un conseil ! (mon but est de réaliser un petit diaporama automatique)
Si ça se trouve, c'est juste que la sortie est « bufferisée » (mise en tampon), et tu peux essayer de rajouter un « flush() » juste avant le « sleep(3) ».
Mais attention, ça risque malgré tout de ne pas fonctionner : lis bien *toute* la description de la page <http://us2.php.net/flush>.
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Merci de désactiver cette pub pour ton antivirus, en arrêtant tous les agents autres que la protection des fichiers qui est la seule utile. Cf. les discussions récentes sur fr.comp.securite.virus.
Denis Beauregard
Le Wed, 06 Nov 2013 11:01:35 +0100, alainL écrivait dans fr.comp.lang.php:
Merci. Avec uniquement flush() j'ai l'appel d'une adresse inconnue. En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s :
Totu à fait normal, c'est la valeur par défaut.
---------------message erreur ------------------ ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in C:wampwwwAutourdaloshtmllancediapo1.php on line 38 Call Stack # Time Memory Function Location 1 0.0007 375696 {main}( ) ..lancediapo1.php:0 -----------------------------------------------
En distant j'obtiens tout le fichier. Mais les deux premiers affichages arrivent simultanément. La tempor se fait ensuite correctement... Testé sur Ffx et IE8...
Sous Windows, le temps d'exécution est le temps réel (ou total) à partir du début de l'exécution. Donc arrêt après 30 secondes. Sous Linux etc., c'est le temps passé à interpréter le script en PHP. Si par exemple on a un accès à du mySQL et que cela prend beaucoup de temps, ce temps n'est pas compté (alors qu'il le serait sous Windows). Je ne savais pas que le temps pour la temporisation serait aussi exclus.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui me semble plus approprié. En PHP pur, j'ai une autre solution, qui n'a aucune limite temporelle.
Le Wed, 06 Nov 2013 11:01:35 +0100, alainL <jarailetxsansx@gmail.com>
écrivait dans fr.comp.lang.php:
Merci.
Avec uniquement flush() j'ai l'appel d'une adresse inconnue.
En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s :
Totu à fait normal, c'est la valeur par défaut.
---------------message erreur ------------------
( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in
C:wampwwwAutourdaloshtmllancediapo1.php on line 38
Call Stack
# Time Memory Function Location
1 0.0007 375696 {main}( ) ..lancediapo1.php:0
-----------------------------------------------
En distant j'obtiens tout le fichier.
Mais les deux premiers affichages arrivent simultanément. La tempor se
fait ensuite correctement... Testé sur Ffx et IE8...
Sous Windows, le temps d'exécution est le temps réel (ou total) à
partir du début de l'exécution. Donc arrêt après 30 secondes. Sous
Linux etc., c'est le temps passé à interpréter le script en PHP. Si
par exemple on a un accès à du mySQL et que cela prend beaucoup de
temps, ce temps n'est pas compté (alors qu'il le serait sous Windows).
Je ne savais pas que le temps pour la temporisation serait aussi
exclus.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui
me semble plus approprié. En PHP pur, j'ai une autre solution, qui
n'a aucune limite temporelle.
Le Wed, 06 Nov 2013 11:01:35 +0100, alainL écrivait dans fr.comp.lang.php:
Merci. Avec uniquement flush() j'ai l'appel d'une adresse inconnue. En ajoutant ob_flush(), ça semble aller mieux.
En local, (wamp) j'ai un blocage après 30s :
Totu à fait normal, c'est la valeur par défaut.
---------------message erreur ------------------ ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in C:wampwwwAutourdaloshtmllancediapo1.php on line 38 Call Stack # Time Memory Function Location 1 0.0007 375696 {main}( ) ..lancediapo1.php:0 -----------------------------------------------
En distant j'obtiens tout le fichier. Mais les deux premiers affichages arrivent simultanément. La tempor se fait ensuite correctement... Testé sur Ffx et IE8...
Sous Windows, le temps d'exécution est le temps réel (ou total) à partir du début de l'exécution. Donc arrêt après 30 secondes. Sous Linux etc., c'est le temps passé à interpréter le script en PHP. Si par exemple on a un accès à du mySQL et que cela prend beaucoup de temps, ce temps n'est pas compté (alors qu'il le serait sous Windows). Je ne savais pas que le temps pour la temporisation serait aussi exclus.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui me semble plus approprié. En PHP pur, j'ai une autre solution, qui n'a aucune limite temporelle.
juste avant sleep(3); -- Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison. Coluche
Olivier Miakinen
Le 06/11/2013 14:34, Denis Beauregard répondait à alainL :
Sous Windows, le temps d'exécution est le temps réel (ou total) à partir du début de l'exécution. Donc arrêt après 30 secondes. Sous Linux etc., c'est le temps passé à interpréter le script en PHP. Si par exemple on a un accès à du mySQL et que cela prend beaucoup de temps, ce temps n'est pas compté (alors qu'il le serait sous Windows).
Oui.
Je ne savais pas que le temps pour la temporisation serait aussi exclus.
Lors d'un sleep(), le processus est arrêté (généralement il repart après réception d'un SIGALRM). Il ne consomme donc pas de temps en mode user et pas de CPU du tout.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui me semble plus approprié.
Oui.
En PHP pur, j'ai une autre solution, qui n'a aucune limite temporelle.
Le 06/11/2013 14:34, Denis Beauregard répondait à alainL :
Sous Windows, le temps d'exécution est le temps réel (ou total) à
partir du début de l'exécution. Donc arrêt après 30 secondes. Sous
Linux etc., c'est le temps passé à interpréter le script en PHP. Si
par exemple on a un accès à du mySQL et que cela prend beaucoup de
temps, ce temps n'est pas compté (alors qu'il le serait sous Windows).
Oui.
Je ne savais pas que le temps pour la temporisation serait aussi
exclus.
Lors d'un sleep(), le processus est arrêté (généralement il repart
après réception d'un SIGALRM). Il ne consomme donc pas de temps en
mode user et pas de CPU du tout.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui
me semble plus approprié.
Oui.
En PHP pur, j'ai une autre solution, qui
n'a aucune limite temporelle.
Le 06/11/2013 14:34, Denis Beauregard répondait à alainL :
Sous Windows, le temps d'exécution est le temps réel (ou total) à partir du début de l'exécution. Donc arrêt après 30 secondes. Sous Linux etc., c'est le temps passé à interpréter le script en PHP. Si par exemple on a un accès à du mySQL et que cela prend beaucoup de temps, ce temps n'est pas compté (alors qu'il le serait sous Windows).
Oui.
Je ne savais pas que le temps pour la temporisation serait aussi exclus.
Lors d'un sleep(), le processus est arrêté (généralement il repart après réception d'un SIGALRM). Il ne consomme donc pas de temps en mode user et pas de CPU du tout.
Ceci dit, je pense que ce serait mieux de le faire en javascript qui me semble plus approprié.
Oui.
En PHP pur, j'ai une autre solution, qui n'a aucune limite temporelle.