在php(在Debian中运行)是否可以通过在zip文件上传时读取zip文件头来获取zip存档中的文件数量?
或者有没有我可以在php中运行的linux命令来获取信息?
基本上我需要知道在用户完成上传zip文件之前zip文件中的文件数量,这样我才能提前知道会发生什么。
(文件头是否有可能不是要在任何文件中上传的第一个数据块?)
由于
答案 0 :(得分:0)
您可以通过运行
来获取zip文件的内容,而无需实际解压缩文件unzip -l <filename.zip>
但是,必须在您的系统中安装unzip
答案 1 :(得分:0)
好吧,在下载/上传时似乎很难做到这一点......作为信息和图表in this page,文件一个接一个地分组,并且在结尾处该文件有一种包含所有文件信息的摘要。因此,在您到达中央目录数据块之前,无法知道您有多少文件。
如果您可以在上传大型ZIP文件时不时进行测试,也许您可以使用Linux / Unix的strings
并查看最后有UT
的字符串数量。他们的名字。
$ strings -at d file.zip
30 lettersUT
65 abcde
101 barUT
132 Y Y Z
184 lettersUT
261 barUT
在上面的示例中,有2个文件:letters
和bar
。作为中央目录的一部分,最后重复这些名称。