...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So implementieren Sie Chunk-Upload in PHP

50

Veröffentlicht in PHP

Kürzlich fragte einer unserer Leser nach dem Hochladen von Chunks in PHP. Sie möchten große Dateien schnell und zuverlässig hochladen. Durch die Implementierung von Chunk-Upload können Sie große Dateien einfach auf einen Server hochladen/verschieben. In diesem Artikel werde ich einen PHP-Code für das Hochladen von Blöcken schreiben, der beim Hochladen/Verschieben großer Dateien nützlich sein kann.

Manchmal müssen Sie in der Webanwendung mit großen Dateien umgehen. Es kann sich um Video- oder ZIP-Dateien handeln, die an einen bestimmten Ort auf dem Server verschoben werden müssen.

Es ist sehr einfach, Chunk-Upload in PHP zu implementieren. Im folgenden Code verschieben wir die Quelldatei in das Verzeichnis ‘uploads’. Wir lesen die Datei in Blöcken von 256 Bytes und schreiben sie in die Zieldatei. Dieser Vorgang wird fortgesetzt, bis das Skript alle Bytes aus der Quelldatei liest und diese Bytes in die Zieldatei schreibt. Für diese Operation verwende ich native PHP-Funktionen – fopen, fread, fwrite und fseek.

Angenommen, Sie haben eine ‘video.mp4’-Datei, die Sie in den Ordner ‘uploads’ verschieben möchten. Unten ist der Code, der eine Datei in Blöcken in den Zielordner verschiebt.

<?php
$source = 'video.mp4';
$orig_file_size = filesize($source);
$destination = 'uploads/video.mp4';
 
$chunk_size = 256; // chunk in bytes
$upload_start = 0;
 
$handle = fopen($source, "rb");
 
$fp = fopen($destination, 'w');
 
while($upload_start < $orig_file_size) {
 
    $contents = fread($handle, $chunk_size);
    fwrite($fp, $contents);
 
    $upload_start += strlen($contents);
    fseek($handle, $upload_start);
}
 
fclose($handle);
fclose($fp);
 
echo "File uploaded successfully.";

Das ist es! So einfach ist es, Chunk-Upload in PHP zu implementieren. Ich würde gerne Ihre Gedanken oder Vorschläge im Kommentarbereich unten hören.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen