現在の位置: ホーム> 最新記事一覧> php zip_entry_read()関数の詳細な説明:zipファイルのコンテンツを読み取る方法

php zip_entry_read()関数の詳細な説明:zipファイルのコンテンツを読み取る方法

gitbox 2025-06-15

1。はじめに

PHPのZIP_ENTRY_READ()関数は、ZIPパッケージのファイルデータを読み取るために使用されます。この関数はzip_entryオブジェクトに依存するため、呼び出す前にzip_entry_open()関数を使用してzip_entryオブジェクトを開く必要があります。 zip_entry_read()関数は、ファイルの最後まで読み取られるまで内部ポインターを介してzipパッケージのデータを徐々に読み取り、空の文字列を返し、ファイルが読み取られていることを示します。

2。関数プロトタイプ

zip_entry_read関数プロトタイプ


string zip_entry_read(resource $zip_entry, int $length)
        

ZIP_ENTRY_OPEN関数プロトタイプ


bool zip_entry_open(resource $zip, resource $zip_entry [, string $mode = "rb"])
        

3。パラメーターの説明

zip_entry_read関数パラメーター説明

この関数には2つのパラメーターがあります。

  • zip_entry:読み取るzip_entryオブジェクト
  • 長さ:読み取るバイト数

ZIP_ENTRY_OPEN関数パラメーター説明

この関数には3つのパラメーターがあります。

  • zip:開くzipストリーム
  • ZIP_ENTRY:開くZIP_ENTRYオブジェクト
  • モード: ZIPファイルを開くモード、デフォルトは「RB」です。つまり、読み取り専用モードでZIPファイルを開くことを意味します。

4。値の説明を返します

zip_entry_read()関数は、zip_entryに対応するファイルから読み取りデータを含む文字列を返します。ファイルの最後まで読み取られている場合、関数は空の文字列を返します。

zip_entry_open()関数は、zip_entryオブジェクトが正常に開かれたかどうかを示すブール値を返します。成功した場合はtrueを返し、失敗した場合はfalseを返します。

5。サンプルデモンストレーション

次の例は、zip_entry_read()関数を使用してzipファイルでコンテンツを読み取る方法を示しています。

 
<?php
// 開けるzip書類
$zip = zip_open("test.zip");
if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        $entry_name = zip_entry_name($zip_entry);
        if (substr($entry_name, -1) != '/') {
            if (zip_entry_open($zip, $zip_entry, "r")) {
                echo "Contents of $entry_name:";
                while ($data = zip_entry_read($zip_entry, 1024)) {
                    echo $data;
                }
                zip_entry_close($zip_entry);
            }
        }
    }
    zip_close($zip);
}
?>
        

上記のコードは、test.zipファイル内のすべてのファイルを通過し、各ファイルの内容を読み取ります。

6。注意すべきこと

大きなファイルを読み取るときは、zip_entry_read()関数を複数回呼び出し、毎回データの一部を読み取り、読み取るたびにファイルの最後まで読み取られているかどうかを確認することをお勧めします。これにより、メモリの使用量を効果的に削減し、プログラムのパフォーマンスを改善できます。

さらに、zip_entry_read()関数を使用する場合、zip_entry_open()関数を呼び出してzip_entryオブジェクトを開きます。そうしないと、エラーが発生します。