从aws s3存储桶中找出zip未压缩文件大小

时间:2017-11-21 09:26:09

标签: php zip filesize compression

我想找出存储在aws s3存储桶中的zip文件的解压缩大小。我们怎样才能在php中找到它?

在本地服务器中,我发现在php中使用exec('unzip -l filename.zip')。

1 个答案:

答案 0 :(得分:0)

你正在解压缩拉链以找出尺寸吗?..这有点矫枉过正..

这里有一些代码可以帮助你,加载zip,迭代每个条目以获得未压缩的大小并返回它。

$zip = new ZipArchive();
if ($zip->open('myzip.zip')) {
    var_dump(getTotalUncompressedSize($zip));
    $zip->close();
}

function getTotalUncompressedSize(ZipArchive $zip)
{
    $totalSize = 0;

    for ($i = 0; $i < $zip->numFiles; $i++) {
        $fileStats = $zip->statIndex($i);
        $totalSize += $fileStats['size'];
    }

    return $totalSize;
}