提供下载到受密码保护的 FTP 的链接

Sam*_*Sam 1 php ftp

我有一个 FTP,其中包含一些文件,我想将其提供给用户下载。但是 FTP 受密码保护,我想使用 PHP 验证 FTP 并使链接在 php 页面中可用,以便当用户单击该页面中的任何 FTP 链接时,应该开始下载。

请帮忙。

Pis*_*3.0 5

您可以使用PHP 的 fopen 包装器通过 PHP 从服务器打开 FTP 位置,并将其作为普通 HTTP 响应传递给用户:

// you can use application/octet-stream to force download
header ('Content-Type: ' . $content_type_of_your_file); 

// open file and pass it to output
readfile ('ftp://username:password@example.com/path/to/your.file');
Run Code Online (Sandbox Code Playgroud)

正如 @Alan 提到的,如果 FTP 服务器位于网络之外的某个位置,这将产生额外的流量。您可以将其包装在缓存方案中 - 例如,仅当您的网络服务器上没有副本时才下载,如果有,请检查新鲜度。然后,您实际上是在构建 FTP 站点的 HTTP 镜像,并且在用户请求文件之前将文件预取到缓存中可能是明智的做法。