我必须遍历包含大约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);
}
答案 0 :(得分:1)
(常规)zip文件中的文件数存储在unsigned 16 bit integer
中。这意味着最大值为65535。
在该zip文件中是否可能有65535个以上的实体,并且该整数溢出并且仅显示num_files - 65536
(在您的情况下为315)?