Hello,
ich habe da noch ein Problem mit der Laufzeit von Scripten.
Ein lange laufendes Script soll während des Laufens Ausgaben auf den Client schicken. Das klappt nur sporadisch.
Das Script soll abbrechen, wenn am Client auf Stop geklickt wird. Geht das überhaupt? Ich kann leider die PHP-Funktionen für die User-Alive-Abfrage nicht wiederfinden. Oder habe ich die nur geträumt?
Hier zur Verdeutlichung das Script:
<?php #### bigfile.php ###
set_time_limit(600);
define("ZEICHENSATZ","abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789-+_&~.,! ");
#-------------------------------------------------------------------------
function get_random_str($lenmin,$lenmax)
{
mt_srand ((double)microtime()*1000000);
$anzahl = mt_rand($lenmin,$lenmax);
$zeichen=ZEICHENSATZ;
$zufall="";
$i=0;
while($i<=$anzahl)
{
$zufall.=substr($zeichen,mt_rand(0,strlen($zeichen)-1),1);
$i++;
}
return $zufall;
}
#-------------------------------------------------------------------------
function make_bigfile($filename)
{
$data = "";
for($i=0;$i<1000;$i++)
{
$data .= get_random_str(400,1500)."\r\n";
}
$fp = fopen("$filename","a+");
fwrite($fp,$data);
fclose($fp);
}
#-------------------------------------------------------------------------
umask(0);
@mkdir("../bigfiles",0775);
echo "Dateien werden erzeugt <br />";
flush();
flush();
for ($i=1;$i<101;$i++)
{
$filename = "../bigfiles/file_".str_pad ( "$i", 3, "0",STR_PAD_LEFT)."dat";
if (!file_exists($filename))
{
make_bigfile($filename);
#chgrp($filename,"team");
echo "file $i<br />";
flush();
flush();
}
}
?>
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen