我目前正在努力了解我的应用程序出了什么问题。
由于我无法找到解决方案(更多关于此处:Codeigniter Download Helper corrupts .7z and .rar files help or alternative solutions?),我决定采用不同的方法。
所以问题是什么原因导致下载文件通过HTML请求(如果我说的那样)变得腐败,即使它们在通过FTP下载时没有损坏也是如此。跟进是什么导致特定类型的扩展变得腐败。因为我可以下载zip文件,但7z和rar文件已损坏。
这是codeiniter的下载助手使用的标题列表:
header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".strlen($data));
帮助程序使用file_get_contents()来确定内容长度并发送。我试图使用filesize()并通过readfile()发送文件,但结果是一样的。
我还尝试了不同的mimes,从全包应用程序/八位字节流到特定应用程序,取决于类型(application / x-7z-compressed等),但效果不大。
所以在这一点上我不知道是什么导致某些扩展工作而其他扩展工作没有。
欢迎提出任何建议。
我可以使用一些php,或apache或任何tweak属性来改变它吗?
编辑:
我注意到,由于某些原因,当我打开一个文件时,会有一个代表下载ID的附加数字,我不知道它是如何到达这里或如何阻止它,但这使我走上正轨。非常感谢,随着我的进步,我会更新这个。
另外如何防止php在我的文件上添加内容?
编辑:
发现它!
这是一个模糊的回声,我根本没有看到,我只是太累了。但现在它已经消失,一切正常。我花了大约几个小时修整以找出问题所在,我对自己很生气,但是现在我觉得它已经结束了。非常感谢帮助我找到问题:)