如何从远程服务器获取文件并将其作为下载分发给用户


How to get a file from remote server and dispose to user as a download?

对不起,我没看对这个标题。

我有在我的服务器的重定向。php脚本,接收客户端用户传递的URL,获取使用file_get_contents()函数的内容,并显示它与echo()函数的用户。

问题是当用户直接指向该URL中的PDF或JPG文件时,脚本将文件内容显示为二进制代码。

当我将代码设置为识别请求的URL何时直接指向可下载文件时,

返回给用户的函数或标题应该是什么,以便他的浏览器要求他下载文件而不是显示它?

我必须首先把它放入我的服务器内的文件,或者我可以直接从命令像file_get_contents() ?如果我能做到这一点,而不把它写到我的服务器,这将是一个更好的方法。

我不能直接指向服务器,因为一些网站被我的员工和第三方公司封锁了这项服务,认为 stakexchange 网站是恶意的,没有建设性的,并被列为在线社区,如Facebook。

试试这个:

$sourcefile = "http://www.myremotewebsite.com/myfile.jpg";
$destfile = "myfile.jpg";
copy($sourcefile, $destfile);