-1

私はこのコードを持っています:

$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;
                }
            }

リスト表示前にアーカイブ内のファイル数を表示したい。どうやってやるの ?

4

2 に答える 2

9

あなたのforループにはすでに答えがあります:

echo "Number of files inside Zip = ".$za->numFiles;

http://php.net/manual/en/class.ziparchive.php

于 2013-06-26T14:51:14.600 に答える
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);
于 2020-10-20T22:49:53.060 に答える