hochladen von großen Dateien mit php, apache
Ich Dateien hochladen möchten von rund 150 MB mit PHP und Apache-server.
Mit meinem code kann ich hochladen, bis zu 5 MB
<?php
$path = $_COOKIE['Mypath'];
$target_path = "uploads/".$path ;
if(!isDir($target_path))
{
mkdir($target_path);
}
# Do uploading here
$target_path = "uploads/".$path ."/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{
header("Location: somepage.html");
}
else
{
echo "File not uploaded";
}
?>
php.ini
max_execution_time = 300 ; Maximum execution time of each script, in seconds
max_input_time = 300 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 200M
- Bitte formulieren Sie die Frage und formatieren.
- Was ist Ihre Frage? Immer finden Sie unter: php.net/manual/en/features.file-upload.common-pitfalls.php
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde auch prüfen, die max input time-und Skript-Ausführung. Sie sind beide derzeit auf 300 Sekunden (5 Minuten). Das würde bedeuten, dass der Benutzer den upload von 150 mb (1200 mega-bits) von 300 Sekunden. Das bedeutet, dass der end-Benutzer benötigen würde, eine solide und konsistente 4mbps-Anschluss (1200 /300 = 4) hochladen, die Datei in der vorgegebenen Zeit.
Ich würde empfehlen, etwas ähnliches zu diesen Einstellungen:
Wenn Sie eine shared-server und wollen, um größere Dateien hochzuladen, erstellen Sie eine php.ini-Datei und schreiben Sie den folgenden code in es und legen Sie es in den Ordner, in dem Sie das hochladen der Dateien, d.h. das Ziel Ihrer hochgeladenen Dateien.
hier finden Sie einige gute Informationen über das hochladen von Dateien in PHP
Upload von Dateien die PHP-info
Oder Sie können auch Lesen Sie es hier mit einem Java-applet, dass der Upload der Datei in Blöcken.
Suche für Jupload
php/Apache Config
Sie müssen ändern Sie den Wert von upload_max_filesize und post_max_size auf die größte Dateigröße, die Sie zulassen möchten. Dann den apache neu starten und alles sollte funktionieren.
Chunking Datei-uploads mithilfe von ajax
Getestet habe ich viele Lösungen und meine Wahl ist Blueimp. Hier ist mein-rating-Liste:
Andere Lösung von mir getesteten
Könnten Sie versuchen, sich mit AJAX und PHP streams, auf diese Weise die Speicherauslastung unter 1 MB, egal wie groß die Datei ist.