我有一个网站,允许客户下载他们购买的文件。
链接被发送给客户,该链接将他们引导到检查链接是否有效的页面,如果是,则允许他们下载他们的产品。
许多客户说,当他们下载时,.zip扩展名丢失,我找不到问题,它在我的机器上工作正常,除非我“保存为”,但即便如此人们遇到了问题。
有没有办法允许他们下载文件,即使他们按“另存为”也保留.zip扩展名?
这是我用来将它们重定向到下载的代码......
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$originalfilename");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
感谢您的帮助。
答案 0 :(得分:2)
问题可能是某些文件有空格,在这种情况下使用当前代码只使用第一部分而忽略扩展部分,为了防止出现这种错误,你必须用双引号括起文件名,如下所示: / p>
header('Content-Disposition: attachment; filename="'.$originalfilename.'"');
答案 1 :(得分:2)
我愿意打赌它与文件名中有空格有关,因为标题中的文件名为PSP_Tubes_PSP_Tubes_Lisa_Cree_The Gift_6932.zip
,文件希望保存为PSP_Tubes_PSP_Tubes_Lisa_Cree_The
。
答案 2 :(得分:0)
添加一个看起来像文件名的虚拟GET参数。
...&fname=/foo.zip