Tom: Angebotener Download bricht immer ab.

Beitrag lesen

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  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

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