我有一个网站,允许客户下载他们购买的文件。
一个链接被发送给客户,该链接将他们引导到一个页面,该页面检查该链接是否有效,如果有效,则允许他们下载其产品。
以下是该链接的一个示例: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");谢谢你的帮助。
发布于 2012-10-25 01:30:23
问题可能是有些文件有空格,在这种情况下,您的当前代码只使用了第一部分,因此丢失了扩展部分,为了防止此类错误,您必须将文件名括在双引号中,如下所示:
header('Content-Disposition: attachment; filename="'.$originalfilename.'"');发布于 2012-10-25 01:31:20
我敢打赌,这与文件名中有一个空格有关,因为文件头中的文件名是PSP_Tubes_PSP_Tubes_Lisa_Cree_The Gift_6932.zip,而文件想要另存为PSP_Tubes_PSP_Tubes_Lisa_Cree_The。
发布于 2012-10-25 01:25:40
添加一个看起来像文件名的GET参数。
...&fname=/foo.ziphttps://stackoverflow.com/questions/13054429
复制相似问题