我需要打开一个ZIP档案,检查档案中每个文件的文件大小,并返回一个包含数值(size)的数组。我不希望为了检查文件大小而提取档案。
我自己尝试了很多,但似乎没有一个ZIP函数有这样的功能,我想不出任何组合来自己编写这个函数。
我知道这个问题很老了。我希望这个答案能帮助到别人
以下代码循环使用test2.zip
文件中的所有文件,并打印其名称和大小(以字节为单位)。
<?php
$zip = new ZipArchive;
$res = $zip->open('test2.zip');
if ($res) {
$i=0;
while(!empty($zip->statIndex($i)['name']))
{
echo "Filename: ".$zip->statIndex($i)['name']." | Size: ".$zip->statIndex($i)['size']." bytes<br>";
$i++;
}
}
?>
输出:
Filename: main.php | Size: 44 bytes
Filename: test.php | Size: 385 bytes
Filename: test2.json | Size: 35 bytes
Filename: Token.txt | Size: 5 bytes
Filename: trans.png | Size: 95442 bytes
Filename: url_xml.xml | Size: 399 bytes