【发布时间】:2016-03-25 02:13:21
【问题描述】:
我正在寻找使用 PHP 下载文件并保留其原始名称的可能性。
这应该适用于文件的直接链接(“foo.bar/test.zip”)和通过 PHP 文件代理的下载(“foo.bar/download.php?fileid=12345”
我尝试了不同的可能性(fopen、cURL、file_get_content 等)。但我发现的所有可能性都需要我手动设置新文件名才能将其保存在本地。
如果我可以通过我的脚本(使用它的原始名称!)将远程文件代理到调用脚本的客户端,而不临时保存它,那就更好了。 我发现以下 sn-p 可以完成这个确切的事情
$fp = fopen($_POST["url"], 'rb');
foreach (get_headers($_POST["url"]) as $header)
{
header($header);
}
fpassthru($fp);
我要下载的文件大小合适,但名称错误(它具有调用的 PHP 脚本的名称,在我的例子中是 downloader.php 而不是 test.zip)。
任何想法如何实现这一点将不胜感激。
提前致谢!
【问题讨论】: