Ich habe ein seltsames Problem beim Hochladen großer Dateien in PHP. In der php.ini ist max_execution_time
auf 30 gesetzt, post_max_size
ist auf 32M eingestellt, upload_max_filesize
ist auf 32M eingestellt. Als ich versuchte, eine Datei der Größe 40,2 MB hochzuladen, wurde kein Fehler angezeigt. Die $_FILES
Variable hat den Wert array(0) { }
und $_FILES['userfile']
zeigt NULL
.Seltsames Problem beim Hochladen großer Dateien
Wenn die Dateigröße ist größer als der Wert in der php.ini gesetzt, dann sollte es zurückgeben die Fehlermeldung
UPLOAD_ERR_INI_SIZE, Wert: 1; Die hochgeladene Datei überschreitet die upload_max_filesize-Direktive in php.ini.
Aber es zeigt auch keinen Fehler (wie $_FILES
ist ein leeres Array). Ich habe keine Ahnung, warum das passiert.
Wenn ich in der php.ini ändern und post_max_size auf 64M gesetzt, upload_max_filesize
auf 64M gesetzt ist, dann funktioniert es gut. Also habe ich beschlossen, den folgenden Code zu verwenden, anstatt die php.ini-Datei zu ändern.
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', 300);
Ich versuchte sogar zu erhöhen max_execution_time
. Trotzdem habe ich das gleiche Problem. ini_set()
funktioniert hier nicht.
Ich bin mir nicht sicher, warum die UPLOAD_ERR_INI_SIZE Fehler nicht angehoben wurde, aber ich kann sagen, dass upload_max_filesize oder der Wert von post_max_size mit ini_set Einstellung hat keine Auswirkung, da diese nicht eine Laufzeit festgelegt werden kann, gemäß dieser ini Liste : http://www.php.net/manual/en/ini.list.php –