Diese Frage sucht nach einer effizienten Möglichkeit, eine Datei von einem FTP-Server abzurufen und direkt an den Browser des Benutzers zu senden , wobei lokaler Speicher und Weiterleitungen umgangen werden.
Die bereitgestellte PHP-Funktion getFtpFileContents ruft die Datei in den Speicher ab, erfordert jedoch nachfolgende manuelle Schritte zum Senden es an den Browser. Um die Notwendigkeit einer Zwischenspeicherung zu beseitigen, entfernen Sie einfach den Ausgabepuffercode:
ftp_get($conn_id, "php://output", $file, FTP_BINARY);
If Wenn Sie den Content-Length-Header einbinden möchten, müssen Sie zunächst die Dateigröße abfragen:
$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);
Denken Sie daran, die Fehlerbehandlung in Ihren Code zu integrieren, um einen robusten Betrieb zu gewährleisten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3