PHP更改下载位置技巧

时间:2013-01-11 19:29:21

标签: php

http://www.mysite.comhttp://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中实现这样的场景,如果有可能如何?

1 个答案:

答案 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');

这将检索产品表,就像从您的域名下载一样:

Local download

-

<强>更新

如果是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下载它,或者只是在没有永久保存的情况下听它(在会话期间只在临时的互联网文件中)。