我有这段代码:
$za = new ZipArchive();
$za->open($downloadlink);
echo "Number of files inside Zip = Unknown";
for( $i = 0; $i < $za->numFiles; $i++ ){
$stat = $za->statIndex( $i );
$tounes = array( basename( $stat['name'] ) . PHP_EOL );
foreach($tounes as $toune) {
echo $toune;
}
}
我希望在显示列表之前显示存档中的文件数。我怎么能这样做?
答案 0 :(得分:8)
您已在for
循环中找到答案:
echo "Number of files inside Zip = ".$za->numFiles;
答案 1 :(得分:0)
numFiles 将计算存档中所有文件和文件夹。如果仅仅需要文件数量,请通过检查大小(文件夹的大小为0)来计算出文件夹的数量:
$zip = new ZipArchive();
$zip->open('archive.zip');
$result_stats = array();
for ($i = 0; $i < $zip->numFiles; $i++)
{
$stat = $zip->statIndex($i);
if ($stat['size'])
$result_stats[] = $stat;
}
echo count($result_stats);