PHP Conference Nagoya 2025

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_filesizeディレクトリエントリの実際のファイルサイズを取得する

警告

この関数は PHP 8.0.0 で 非推奨になります。この関数に頼らないことを強く推奨します。

説明

zip_entry_filesize(resource $zip_entry): int|false

ディレクトリエントリの実際のファイルサイズを返します。

パラメータ

zip_entry

zip_read()により返されたディレクトリのエントリ

戻り値

ディレクトリエントリのサイズを返します。 失敗した場合に false を返します

変更履歴

バージョン 説明
8.0.0 この関数は非推奨になりました。オブジェクト指向のAPIを使うのが望ましいです。 ZipArchive::statIndex() を参照ください。

参考

  • zip_open() - Zip ファイルアーカイブをオープンする
  • zip_read() - Zip ファイルアーカイブの中の次のエントリを読み込む

add a note

User Contributed Notes 1 note

up
1
Reflex
14 years ago
Simple function that return total size of files in archive.
May be useful for check for zip bombs.

<?php

function get_zip_originalsize($filename) {
$size = 0;
$resource = zip_open($filename);
while (
$dir_resource = zip_read($resource)) {
$size += zip_entry_filesize($dir_resource);
}
zip_close($resource);

return
$size;
}

$size = get_zip_originalsize('file.zip');
echo
"original size: $size bytes\n";

?>
To Top