通过PHP从FTP下载文件,就像通常下载文件一样


Download file via PHP from FTP, like normally downloading a file?

我目前正在尝试从FTP服务器检索一个文件,以便用户可以访问该文件进行下载。ftp_get()将其写入本地机器上的路径,是的,但我希望它也显示在下载历史记录中,并算作从互联网上的"正常"下载,但我还不知道如何做到这一点。我还尝试使用header("Location: ftp://username:password@ftp.server.com/myfile.file")直接链接到PHP中的文件,但这导致浏览器显示文件内容(这是我不想要的)。我错过了任何header-参数吗?或者有完全不同的方法吗?

您将无法将用户"重定向"到一个文件,以便他可以使用FTP下载该文件。这是一个HTTP的东西。浏览器提供FTP功能,使其看起来像HTTP,但事实上,这些是不同的东西。

如果这个文件只能通过FTP访问,并且它在远程服务器上,我能想象的唯一方法是:

  • 通过PHP中的FTP将文件从FTP下载到您的应用服务器
  • 使用PHP和适当的文件头将其发送给用户,如下所示:https://stackoverflow.com/a/7263943/2802720

希望能有所帮助。