发送没有readfile()PHP的外部文件

时间:2013-07-16 14:44:05

标签: php file gateway

当用户打开我的网站链接时,如何从其他服务器提供文件?不使用readfile等函数和其他函数来重定向流量。是否可以在不将其下载到我的服务器的情况下提供文件?

例如:

  1. 用户打开的链接http://mysite.com/download.php
  2. 我的服务器向他提供了一个名为file.exe的“https://googledrive.com/host/0B ...”文件,但未将其下载到我的服务器
  3. 所以对于用户来说,就像他从file.exe下载文件mysite.com,但实际上它来自googledrive。

    谢谢!

2 个答案:

答案 0 :(得分:0)

您只能使用header('Location: ..')将其重定向到下载网址,除非您有FTP访问权限,否则无法从其他服务器下载文件。

答案 1 :(得分:0)

您想要修改显示但不想将其下载到服务器的文件名。那是不可能的。

当您计划修改文件名或类似信息等任何元信息时,您必须从该位置下载该文件以将其提供给客户端。

文件名是HTTP属性,由服务器发送(在您的情况下是谷歌驱动器)。在您想要修改它的那一刻,您的服务器必须拦截http流量意味着内容必须通过您的服务器(如果您存储该文件是另一回事。

HTTP不像FTP。在FTP中,数据流是分开的。另一方面,在HTTP中,一个流中的所有内容(文件信息+内容)。

你可以处理全部或全部。