Heim >Backend-Entwicklung >PHP-Tutorial >Wie lade ich Dateien ohne Festplattenspeicher direkt von FTP in den Browser des Benutzers in PHP herunter?

Wie lade ich Dateien ohne Festplattenspeicher direkt von FTP in den Browser des Benutzers in PHP herunter?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 12:03:30629Durchsuche

How to Directly Download Files from FTP to User's Browser in PHP without Disk Storage?

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:

  1. Fragen Sie die Dateigröße mit ftp_size() ab.
  2. Legen Sie HTTP-Header fest für Inhaltstyp, Anordnung und Länge.
  3. Verwenden Sie ftp_get(), um die Datei direkt in die Datei abzurufen Browser.

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:

  • Denken Sie daran, zu handhaben Fehler ordnungsgemäß.
  • Eine umfassende Übersicht über die Handhabung von FTP-Dateien finden Sie unter „Angeklickte Datei auflisten und herunterladen von“. FTP“-Dokumentation.

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!

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