在完全上传之前从zip文件头获取文件数

时间:2014-06-23 10:23:29

标签: php linux debian

在php(在Debian中运行)是否可以通过在zip文件上传时读取zip文件头来获取zip存档中的文件数量?

或者有没有我可以在php中运行的linux命令来获取信息?

基本上我需要知道在用户完成上传zip文件之前zip文件中的文件数量,这样我才能提前知道会发生什么。

(文件头是否有可能不是要在任何文件中上传的第一个数据块?)

由于

2 个答案:

答案 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个文件:lettersbar。作为中央目录的一部分,最后重复这些名称。