le 12/10/2003 à 18:51
plc2k
bonjour,
voila j'avais fait un petit script qui permetait de gerer une espece de file d'attente en php tout marchait bien, mais il semble qu'avec la derniere version de php 4 jai des soucis..
je m'explique, une 1ere personne upload un fichier a partir d'un FORM, à la suite de ca je texte si ya un fichier wait.txt sur c:\, si le fichier existe, je le delete et le precessus continue. si le fichier n'existe pas on entre dans une boucle d'attente
while (!@unlink($waitfile))
pendant cette boucle, j'envoi un "." toutes les 2 secondes :
sleep (2);
echo "<B>.</B> ";
tout marchait tres bien avant, maintenant, je reste sur la page du FORM et je recois lensemble de mes points au timeout.
alors quavant le form disparaissait et je voyais en "temps réél" avancer mes points.
qqun à une idée ? comment relgler ce probleme ou comment le contourner , en utilisant peu etre un autre type de file d'attente.
je vous paste mon code pour plus d'information:
-----boucle d'attente----------
if (isset($userfile)) {
$waitfile = "C:\wait.txt";
$poswait = 1;
while (!@unlink($waitfile))
{
if ($poswait == 1) echo "<div id=\"temp\" style=\"visibility: visible\">Wait another file is under analyse ";
sleep (2);
echo "<B>.</B> ";
$poswait++ ;
}
echo "</div>";
echo "<script>temp.style.visibility='hidden';</script>";
$poswait = 0;
.......à la suite de ca, le script continue........
}
-------------------------------------
-----Mon FORM--------------
printf("
<form enctype='multipart/form-data' action='$PHP_SELF' method='post'>
<input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
<input name='userfile' type='file'>
<input type='submit' value='Send'>
</form>
");
-------------------------------------
j'espere que quelqu'un pourra m'aider ..
j'ai essayé en mettant un flush(); apres le echo "<B>.</B> ";
dans la boucle, mais cela ne change rien, les points arrivent en bloc au timeout.
un grand merci d'avance pour votre aide
bye
voila j'avais fait un petit script qui permetait de gerer une espece de file d'attente en php tout marchait bien, mais il semble qu'avec la derniere version de php 4 jai des soucis..
je m'explique, une 1ere personne upload un fichier a partir d'un FORM, à la suite de ca je texte si ya un fichier wait.txt sur c:\, si le fichier existe, je le delete et le precessus continue. si le fichier n'existe pas on entre dans une boucle d'attente
while (!@unlink($waitfile))
pendant cette boucle, j'envoi un "." toutes les 2 secondes :
sleep (2);
echo "<B>.</B> ";
tout marchait tres bien avant, maintenant, je reste sur la page du FORM et je recois lensemble de mes points au timeout.
alors quavant le form disparaissait et je voyais en "temps réél" avancer mes points.
qqun à une idée ? comment relgler ce probleme ou comment le contourner , en utilisant peu etre un autre type de file d'attente.
je vous paste mon code pour plus d'information:
-----boucle d'attente----------
if (isset($userfile)) {
$waitfile = "C:\wait.txt";
$poswait = 1;
while (!@unlink($waitfile))
{
if ($poswait == 1) echo "<div id=\"temp\" style=\"visibility: visible\">Wait another file is under analyse ";
sleep (2);
echo "<B>.</B> ";
$poswait++ ;
}
echo "</div>";
echo "<script>temp.style.visibility='hidden';</script>";
$poswait = 0;
.......à la suite de ca, le script continue........
}
-------------------------------------
-----Mon FORM--------------
printf("
<form enctype='multipart/form-data' action='$PHP_SELF' method='post'>
<input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
<input name='userfile' type='file'>
<input type='submit' value='Send'>
</form>
");
-------------------------------------
j'espere que quelqu'un pourra m'aider ..
j'ai essayé en mettant un flush(); apres le echo "<B>.</B> ";
dans la boucle, mais cela ne change rien, les points arrivent en bloc au timeout.
un grand merci d'avance pour votre aide
bye