有http://www.mysite.com
和http://www.anothersiter.com
个网站。 http://www.anothersite.com
中有一些文件链接:
http://www.anothersite.com/file1
http://www.anothersite.com/file2
...
http://www.anothersite.com/fileN
我想在http://www.mysite.com
上方放置链接,以便网站访问者能够下载。但我希望将它们下载,就好像它们来自http://www.mysite.com
而不是http://www.anothersite.com
。是否有可能在PHP中实现这样的场景,如果有可能如何?
答案 0 :(得分:2)
您可以创建一个简单的下载脚本,使用file_get_contents
通过您的服务器下载文件。但是,您的php.ini需要allow_url_fopen
才能启用此功能。但代码可以非常简单。例如,要下载名为downloaded.pdf
的PDF文件,您可以使用:
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
echo file_get_contents('http://www.coolermaster-usa.com/upload/download/85/files/product_sheet.pdf');
这将检索产品表,就像从您的域名下载一样:
-
<强>更新强>
如果是MP3下载,您可以考虑使用Content-Disposition: inline
而只是将mp3流式传输到浏览器。像这样:
header('Content-type: audio/mpeg');
header('Content-Disposition: inline; filename="somefile.mp3"');
echo file_get_contents('http://example.com/somefile.mp3');
这样文件就会在线播放。然后,人们可以按CTRL + S下载它,或者只是在没有永久保存的情况下听它(在会话期间只在临时的互联网文件中)。