Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Dateien von einem FTP-Server direkt in einen Browser herunterladen, ohne lokalen Speicher zu verwenden?

Wie kann ich Dateien von einem FTP-Server direkt in einen Browser herunterladen, ohne lokalen Speicher zu verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 15:01:01718Durchsuche

How can I download files from an FTP server directly to a browser without using local storage?

Herunterladen von Dateien von FTP-Servern auf Browser ohne lokalen Speicher

Beim Herunterladen von Dateien von FTP-Servern mithilfe von PHP-Skripten ist es üblich, sie zu speichern Die Dateien werden vorübergehend auf dem Webserver gespeichert, bevor sie an den Browser des Benutzers gesendet werden. Dieser Ansatz kann jedoch ineffizient sein.

Dateiinhalte ohne Speicherung abrufen

Um eine Datei direkt an den Browser zu senden, ohne sie auf der Festplatte zu speichern, entfernen Sie einfach die Ausgabepufferung Funktionen (ob_start() und ob_get_contents()). Dieser Code sendet die Datei direkt an den Ausgabestream:

<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>

Content-Length-Header hinzufügen

Um den Content-Length-Header einzuschließen, fragen Sie die Dateigröße ab Verwenden Sie vor dem Herunterladen ftp_size():

<code class="php">$file_path = "remote/path/file.zip";
$size = ftp_size($conn_id, $file_path);</code>

Legen Sie dann die entsprechenden Header fest und laden Sie die Datei herunter:

<code class="php">header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . basename($file_path));
header("Content-Length: $size");

ftp_get($conn_id, "php://output", $file_path, FTP_BINARY);</code>

Zusätzliche Überlegungen

Denken Sie daran, Fehler zu behandeln und in den Antwortheadern korrekte Dateiinformationen anzugeben, einschließlich des Dateinamens zum Herunterladen. Eine umfassende Anleitung finden Sie in den verlinkten Ressourcen. Mithilfe dieser Techniken können Sie Dateien effizient von FTP-Servern direkt in Browser herunterladen, ohne dass eine temporäre Speicherung erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien von einem FTP-Server direkt in einen Browser herunterladen, ohne lokalen Speicher zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn