Formulargrenzen und schreiben php: // Eingabe in eine Datei in PHP

8

Ich möchte also, dass Benutzer große Dateien hochladen können, ohne sich um die maximalen Größen der Post kümmern zu müssen. Die Alternative besteht darin, PUT zu verwenden und eine Datei als Rohdaten zu senden. Wenn ich jquery benutze, kann ich das tun:

%Vor%

In PHP kann ich das tun:

%Vor%

Ich mache das nicht:

%Vor%

Da die ganze Datei in eine Variable eingefügt wird, füllt sie sicher den gesamten Speicher beim Hochladen großer Dateien.

Was ich nicht herausfinden kann, ist, wie man die Dateidaten ohne die Formgrenzen schreibt. Im Moment schreibt es am Anfang der Datei etwas wie folgt:

%Vor%

und unten etwas wie folgt:

%Vor%

Also muss ich die Daten analysieren. Aber dazu muss ich den gesamten Datenstrom in den Speicher einlesen und bei großen Videodateien möchte ich das nicht machen. Ich habe etwas über das Erstellen eines php: // temp-Streams gelesen. Aber noch kein Glück damit. Wie kann ich nur den Inhalt in eine Datei ohne den Grenzkopf schreiben? Und ohne zuerst alle Daten in eine Variable zu pumpen?

    
user1494552 18.05.2013, 14:15
quelle

3 Antworten

1

Vielleicht eine Kombination von fgets , um das Lesen an einer neuen Zeile zu stoppen und nach den Grenzen zu suchen:

%Vor%     
AbraCadaver 03.02.2015 21:56
quelle
1

Sie können dies verwenden (es gibt viele, die es mögen). Es unterstützt Chunked-Uploads, das heißt, du wirst keine Post- / Datei-Max-Größen erreichen, solange jeder Upload-Chunk weniger als die Post-Max-Größe ist.

Es enthält auch den PHP-Code , den Sie auf der Serverseite benötigen .

    
aljo f 06.02.2015 17:54
quelle
0

Das Rad muss nicht neu erstellt werden. Verwenden Sie einfach POST und ändern Sie die PHP-Konfiguration zu größeren Grenzen. Diese Grenzwerte können auch pro Verzeichnis / Host festgelegt werden.

Verwenden Sie .htaccess oder Ihre apache.conf

%Vor%

Es ist auch eine gute Idee, andere Grenzen wie max_input_time anzupassen.

Vergessen Sie nicht, die empfangene Datei mithilfe von move_uploaded_file , um zusätzliche Arbeit zu vermeiden.

    
rodrigovr 10.02.2015 21:43
quelle

Tags und Links