无法从zip文件中使用“ zip_read”读取所有文件

时间:2019-01-24 13:49:48

标签: php zip

我必须遍历包含大约65000个文件的zip文件中的所有文件。但是它只能读取315个文件。

找不到原因,错误日志中没有错误。 我使用了以下代码:

<?php
$zip = zip_open($newfile);
if ($zip) {
    $counter = 0;
    while ($zip_entry = zip_read($zip)) {
        $counter++;
        $filename = zip_entry_name($zip_entry);
        echo $counter . "-" . $filename . "<br/>";      
    }
    zip_close($zip);
}

1 个答案:

答案 0 :(得分:1)

(常规)zip文件中的文件数存储在unsigned 16 bit integer中。这意味着最大值为65535。

在该zip文件中是否可能有65535个以上的实体,并且该整数溢出并且仅显示num_files - 65536(在您的情况下为315)?