0

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 中实现这样的场景,如果可能的话,如何实现?

4

1 回答 1

2

您可以创建一个简单的下载脚本,使用file_get_contents. 不过,您的 php.ini 需要allow_url_fopen启用才能正常工作。但是代码可以很简单。例如,要下载一个名为 的 PDF 文件downloaded.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: inlinemp3 并将 mp3 流式传输到浏览器。像这样:

header('Content-type: audio/mpeg');
header('Content-Disposition: inline; filename="somefile.mp3"');
echo file_get_contents('http://example.com/somefile.mp3');

这样文件将在线播放。然后人们可以随时按 CTRL+S 来下载它,或者只是收听它而不将它永久保存在某个地方(只是在他们会话期间的临时 Internet 文件中)。

于 2013-01-11T19:40:51.903 回答