繁体   English   中英

从PHP生成的ZIP可与winrar一起使用,但不能与其他人一起使用?

[英]ZIP generated from PHP works with winrar but not others?

我有一些PHP代码,允许用户提交文件。 然后,我可以下载ZIP文件。 如果我将Windows与Winrar一起使用,则可以将其解压缩,然后打开文件,一切都很好。 我已经在多台计算机上对此进行了测试。

如果我没有winrar,并且在Windows 8或Windows 7(或OSX)中使用默认的解压缩程序,则会收到一条消息,指出该zip文件无效。

是否有我找不到的已知问题? 有谁知道会导致这种行为的原因吗?

谢谢,

这是输出zip的链接。 https://www.dropbox.com/s/imvzixl3y3l12l1/TestAreaForMax-aa-57.zip

没有看到您的代码和ZIP文件,没人会确定,但是我记得有类似的问题,而且我的脚本似乎抛出了一些错误消息,这些消息最终出现在生成的ZIP归档文件中。 有些解压缩可以从中恢复,而其他解压缩则无法恢复,因此我建议在任何文本编辑器中打开您的ZIP文件,并查看文件开头是否没有类似PHP警告消息的信息。

编辑

常规zip文件以"PK"开头。 您的文件以" PK"开头,因此,除非您不是真的需要,否则从生成您的zip文件的PHP脚本中删除?> (我建议从所有脚本中删除它),因为某处有一个空间可以执行上述操作,很可能在之后潜伏?>

如果您使用的是PHP代码块,则空白什么也不做。 但是通过放置?>您可以告诉PHP脚本何时结束。 在PHP代码块之外,空格仅被发送到客户端。 因此,如果保留?>并且空格在它后面,那么它将被发送。 如果脚本的输出是可下载的,则该空间将“加入”用户保存的字节流。 通过删除?>,您不会明确告诉PHP代码的结尾,在这种情况下,它将自动以源文件结尾结束。 由于编辑器设置的原因,空白通常很容易被跟踪,因此空白(因此我将语法突出显示设置为以不同于背景色的颜色显示空白)

通常,由于上述原因,如果您不将PHP代码与任何内容(即HTML)混合使用,最好不要使用?> 它总是有助于将编辑器配置为在保存时自动修剪尾随空格

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM