我需要打开一个ZIP存档,检查存档中每个文件的文件大小,并返回一个包含数值(大小)的数组.我不希望提取存档以检查文件大小.
我自己尝试了很多,但没有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++;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
输出:
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
Run Code Online (Sandbox Code Playgroud)