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

时间:2010-10-22 11:11:23

标签: php ftp

我有一个带有一些文件的FTP,我希望将它提供给用户进行下载。但FTP受密码保护,我想使用PHP验证FTP,并在php页面中提供链接,以便当用户点击该页面中的任何FTP链接时,应该开始下载。

请帮忙。

1 个答案:

答案 0 :(得分:4)

您可以使用PHP's fopen wrappers从服务器通过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');

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