PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのzip_entry_filesize()関数の使い方を解説

PHPのzip_entry_filesize()関数は、ZIPアーカイブ内のエントリ(ファイル)の圧縮前のファイルサイズ、つまり実際のファイルサイズを取得するために使用されます。

基本構文

zip_entry_filesize(zip_entry)

パラメータ

  • zip_entry − zip_open()で開いたZIPファイルから取得したエントリリソースを指定します。このパラメータは必須です。

戻り値

zip_entry_filesize()関数は、指定されたZIPエントリの圧縮前のファイルサイズ(バイト単位)を返します。エラーが発生した場合は、ZIPエントリが無効な場合などにfalseを返すことがあります。

使用例

以下の例では、「new.zip」というZIPファイルを開き、その中に含まれる各ファイルの圧縮前のサイズを順番に表示しています。

<?php
$zip = zip_open("new.zip");
if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "圧縮前のファイルサイズ = ". zip_entry_filesize($zip_entry). "<br />";
    }
    zip_close($zip);
}
?>

出力結果

File Size before compression = 150
File Size before compression = 290
File Size before compression = 195

補足:関連する関数

zip_entry_filesize()と合わせて覚えておくと便利な関連関数を紹介します。

  • zip_entry_compressedsize() − 圧縮後のファイルサイズを取得します。
  • zip_entry_name() − ZIPエントリの名前(ファイル名)を取得します。
  • zip_read() − ZIPファイルから次のエントリを読み込みます。
  • zip_open() − ZIPファイルを開いてリソースを取得します。

注意点

なお、PHP 7.4.0以降ではZipArchiveクラスの使用が推奨されており、これらのzip_*系の関数は非推奨(Deprecated)となっています。新しいプロジェクトでは、ZipArchive::statIndex()などのメソッドを使うことで、同様にファイルサイズ情報を取得できます。

  1. PHPのfile_get_contents()関数とは?使い方とパラメータを徹底解説

    PHPのfile_get_contents()関数は、ファイル全体を読み込んで1つの文字列として返す関数です。似た関数であるfile()関数がファイル全体を配列として読み込むのに対し、file_get_contents()関数はファイル全体を単一の文字列として取得できる点が大きな特徴です。基本構文file_get_contents(file_path, flags, context, start_offset, max_length)パラメータの詳細file_path: 読み込み対象となるファイルへのパスを指定します。flags: 以下のフラグをバイナリOR演算子(|)で組み合わせて指定できま

  2. PHPのfile()関数とは?使い方・パラメータ・戻り値をわかりやすく解説

    PHPのfile()関数は、指定したファイル全体を読み込み、その内容を行ごとに分割した配列として返す関数です。テキストファイルを簡単に扱いたい場合に便利な基本関数の一つです。構文file(file_path, flag, context)パラメータfile_path − 読み込みたいファイルへのパスを指定します。flag − 省略可能なパラメータで、以下の定数を1つ、または複数組み合わせて指定できます。FILE_USE_INCLUDE_PATH − include_path の中からファイルを検索します。FILE_IGNORE_NEW_LINES − 配列の各要素の末尾に改行文字を追加しません