首页  >  文章  >  后端开发  >  如何使用 PHP 将文件从 FTP 服务器直接下载到浏览器?

如何使用 PHP 将文件从 FTP 服务器直接下载到浏览器?

Patricia Arquette
Patricia Arquette原创
2024-11-03 14:43:301047浏览

How Can I Download Files from an FTP Server Directly to a Browser Using PHP?

使用内容长度标头将文件从 FTP 服务器下载到浏览器

您可以将文件直接下载到用户的浏览器,而不将其存储在通过从代码中删除输出缓冲来连接服务器。

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

要添加 Content-Length 标头,您需要首先使用 ftp_size() 获取文件大小:

<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>

请记住包含错误处理以获得完整的解决方案。

其他背景

有关 FTP 文件处理的更多信息,请参阅以下资源:

  • 从 FTP 列出并下载点击的文件
  • PHP FTP 函数:ftp_get

以上是如何使用 PHP 将文件从 FTP 服务器直接下载到浏览器?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn