Hello,
war mir nich ganz sicher beim Umsetzen mit dem was du sagtest, hoffe das ich es trozdem richtig gemacht habe und zwar hab ich es jetzt so ausprobiert:
while(!feof($file) and (connection_status()==0)) {
while ($data = fread($file, 128))
print($data);
flush();
}
> ansonsten bräucht ich vll nen kleinen Anstoß in die richtige Richtung.
Das ist aber schon fast richtig.
Den conntection\_status musst Du eigentlich auch nicht jedes Mal abfragen. Das ist nur sinnvoll, wenn Du das Script bei einem "user-abort" <http://de.php.net/manual/en/function.ignore-user-abort.php> weiterlaufen lässt und genau diese Schleife dann eben nicht weiterlaufen soll.
Anderenfalls wird bei einem User-Abort sowieso nur noch die Shutdown-Funktion ausgeführt. Alle anderen Operationen werden sofort abgebrochen und ihre Variablen aufgelöst.
<http://de.php.net/manual/en/function.register-shutdown-function.php>
Damit würde sich das Konstrukt reduzieren lassen auf:
while(false !== ($data = fread($file, 128)))
{
echo $data;
flush();
}
Hast Du mal in das Error-Log des Apachen geschaut, ob da was über den Abbruch drinsteht?
Laufen denn andere Scripte auf dem Server unendlich, wenn Du set\_time\_limit(0) benutzt? das würde ich als erstes mal ausprobieren.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>