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

PHPのzip_open()関数とは?使い方とサンプルコードをわかりやすく解説

zip_open()関数は、PHPでZIPファイルを読み取り用に開くための関数です。ファイルのオープンに成功すると、開かれたZIPファイルのリソースを返し、失敗した場合にはFALSEを返します。

基本構文

zip_open(zip_file)

パラメータ

  • zip_file − 開きたいZIPファイルへのパスを指定します。

戻り値

zip_open()関数は、処理が成功した場合にオープンされたZIPファイルのリソースを返します。失敗した場合(ファイルが存在しない、有効なZIP形式ではないなど)はFALSEを返します。

使用例

以下は、「new.zip」というZIPファイルを開き、内部の各エントリの圧縮後サイズを順番に表示するサンプルコードです。

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

出力結果

圧縮サイズ = 90
圧縮サイズ = 12
圧縮サイズ = 67

補足:注意点について

なお、zip_open()などの旧式のZIP操作関数は、PHP 8.0.0以降で非推奨となっています。現在の開発では、より高機能でオブジェクト指向的なZipArchiveクラスを使用することが推奨されています。既存コードを保守する際は、この点に留意してください。

  1. PHPのzip_entry_compressed_size()関数とは?ZIPエントリの圧縮後サイズを取得する方法を解説

    zip_entry_compressed_size()関数は、ZIPアーカイブ内のエントリ(ファイル)の圧縮後のサイズを取得するための関数です。ZIPファイルを開いて各エントリを読み込む際に、そのファイルが実際にどれだけの容量で格納されているかを確認できます。 構文 zip_entry_compressed_size(zip_entry) パラメータ zip_entry − サイズを取得したいZIPエントリのリソース。必須のパラメータです。通常はzip_read()で読み込んだエントリを指定します。 戻り値 指定したZIPアーカイブエントリの圧縮後のファイルサイズ(バイト数)を返します。元

  2. PHPのzip_entry_close()関数とは?使い方とサンプルコードを解説

    PHPのzip_entry_close()関数は、zip_entry_open()関数によって開かれたZIPアーカイブ内のエントリを閉じるために使用されます。ZIPファイルを読み込んだ後は、リソースを適切に解放するためにこの関数でエントリを閉じることが推奨されます。構文zip_entry_close(zip_entry)パラメータzip_entry − 閉じたいZIPエントリのリソースを指定します。このパラメータは必須です。戻り値zip_entry_close()関数は、処理が成功した場合にTRUEを返し、失敗した場合にFALSEを返します。使用例以下は具体的な使用例です。ここでは、アーカイブ