Heim >Backend-Entwicklung >PHP-Tutorial >Wie lade ich Dateien ohne Festplattenspeicher direkt von FTP in den Browser des Benutzers in PHP herunter?
Dateien per PHP-Skript vom FTP in den Browser ohne Festplattenspeicher herunterladen
Mit PHP können Dateien effizient von FTP-Servern abgerufen werden. Was aber, wenn das Ziel darin besteht, die Datei direkt an den Browser des Benutzers zu liefern und dabei den lokalen Festplattenspeicher zu umgehen?
Methode ohne Ausgabepufferung:
Um dies zu erreichen, einfach Entfernen Sie die Ausgabepufferfunktionen (ob_start() und ihre Gegenstücke):
<code class="php">ftp_get($conn_id, "php://output", $file, FTP_BINARY);</code>
Inhaltslänge hinzufügen Header:
Um den Content-Length-Header einzuschließen, führen Sie die folgenden Schritte aus:
Codebeispiel:
<code class="php">$conn_id = ftp_connect("ftp.example.com"); ftp_login($conn_id, "username", "password"); ftp_pasv($conn_id, true); $file_path = "remote/path/file.zip"; $size = ftp_size($conn_id, $file_path); 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 Hinweise:
Das obige ist der detaillierte Inhalt vonWie lade ich Dateien ohne Festplattenspeicher direkt von FTP in den Browser des Benutzers in PHP herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!