我想这样做,没有"readfile()“部分:
header("Content-type: application/force-download");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($file));
header("Content-disposition: attachment; filename="".basename($file).""");
readfile("$file"); 基本上,我试图转发一个下载到另一个网址,但同时我需要能够设置头像“文件名”。
readfile( $file )函数不会为我做这件事,因为$file不是存储在与PHP脚本相同的服务器上(甚至不是同一个数据中心)
这有可能吗?如果不是通过PHP,也许FLASH可以做到这一点?
发布于 2011-02-03 16:25:23
使用PHP实现此目的的唯一方法是,PHP首先从远程服务器下载文件,然后将其发送给用户。实际上,您可以使用readfile来实现这一点,因为它支持fopen包装器,只要您的服务器上启用了该选项。
发布于 2011-02-03 17:49:03
如果您确实希望通过PHP以这种方式下载该文件,您可以使用
header("Content-disposition: attachment; filename=myfile.jpg");
echo file_get_contents("http://host.tld/path/to/myfile.jpg")引用拜伦·惠特洛克在另一个SO问题here上的话。他解释说,这段代码会将文件放在临时存储中,因此原始文件的下载和删除将自动处理。
如果你不需要使用PHP,你可以在页面上使用隐藏的iFrame来下载文件
https://stackoverflow.com/questions/4883702
复制相似问题