6

ZIP アーカイブを開き、アーカイブ内の各ファイルのファイル サイズを確認し、数値 (サイズ) を含む配列を返す必要があります。おそらく、ファイルサイズをチェックするためにアーカイブを抽出したくありません。

自分でいろいろ試してみたのですが、そのような機能を持っているZIP関数はないようで、自分で関数を書くための組み合わせが思い浮かびませんでした。

4

1 に答える 1

9

この質問はかなり古いことを知っています。この回答が誰かの役に立てば幸いです。
次のコードは、ファイル内のすべてのファイルを循環させ、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
于 2013-10-05T14:05:13.590 に答える