我有一个带有一些文件的FTP,我希望将它提供给用户进行下载。但FTP受密码保护,我想使用PHP验证FTP,并在php页面中提供链接,以便当用户点击该页面中的任何FTP链接时,应该开始下载。
请帮忙。
答案 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镜像,在用户请求之前将文件预先提取到缓存可能是明智的。