Tach!
if(ini_get('safe_mode'))
@ini_set('safe_mode', false);
if(ini_get('safe_mode'))
die("Der safe_mode konnte nicht abgeschaltet werden!");
Das kann ich dir von vorn herein sagen, dass ein eventuell gesetzter Safe Mode nicht im Script abgeschaltet werden kann. Das würde die Aufgabe des Safe Mode konterkarrieren.
@ini_set('memory_limit',1024);
if(ini_get('memory_limit') != 1024)
die("Das memory_limit konnte nicht verändert werden! (".ini_get('memory_limit').")");
Mit readfile() brauchst du auch kein Gigabyte Speicher, weil dieses ebenso wie deine Schleife nur kleine Stückchen einliest und durchreicht.
@ini_set('max_execution_time', 300);
if(ini_get('max_execution_time') != 300)
die("Die max_execution_time konnte nicht verändert werden! (".ini_get('max_execution_time').")");
Neben dem PHP-internen Timeout gibt es noch Timeouts, die außerhalb konfiguriert werden. Wenn ein PHP-Timeout auftritt, bekommst du eine PHP-Fehlermeldung. Die findest du entweder in deiner Ausgabe (also am Ende der heruntergeladenen Datei) oder da wo du Fehlermeldungen explizit hingeleitet hast, wenn du das hast. Bei der max_execution_time wird auch nur die von PHP direkt verbrauchte Zeit gewertet, Zeit, die es auf das System warten muss, ist nicht in der Rechnung. Beispielswiese verbraucht bei sleep() nur der Funktionsaufruf ganz wenig dieser Zeit, egal wie lange das Script schlafen soll. Der Apache-Timeout oder ein anderer irgendwo im System konfigurierter Timeout kann aber trotzdem zuschlagen - dann aber ohen PHP-Fehlermeldung, weil PHP ja keine Chance mehr dazu hat.
Die Dateien unter http://www.seite.de/downloads/index.php konnten nicht gefunden werden.
Diese Meldung passt nicht zum gezeigten Code. Im Code machst du einen Dateizugriff, die Meldung redet was von einer URL, die jedoch bei einem HTTP-Request von Belang ist. Zudem ist der Meldungstext nicht im gezeigten Code zu sehen. Woher also kommt diese Meldung?
dedlfix.