下载时缺少.zip扩展名

时间:2012-10-24 17:23:10

标签: php file download

我有一个网站,允许客户下载他们购买的文件。

链接被发送给客户,该链接将他们引导到检查链接是否有效的页面,如果是,则允许他们下载他们的产品。

以下是链接示例:http://www.psptubestop.com/dl/2z129a2.php?reference=6d556bde201a2fe4079874168&password=535864380ee2bc0f57cced3fe&pid=402

许多客户说,当他们下载时,.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");

感谢您的帮助。

3 个答案:

答案 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