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

PHPのzip_entry_read()関数とは?構文・パラメータ・使い方を解説

zip_entry_read() 関数は、オープンされたZIPアーカイブ内のエントリからデータを読み取るための関数です。読み取り対象のエントリは、あらかじめ zip_entry_open() で開いておく必要があります。

構文

zip_entry_read(zip_entry, len)

パラメータ

  • zip_entry − 読み取り対象となるZIPエントリのリソース。必須です。

  • len − 読み込むバイト数。省略した場合のデフォルト値は1024です。

戻り値

成功した場合は、オープンされたZIPアーカイブエントリの内容(文字列)を返します。失敗した場合やファイルの終端に達した場合は FALSE を返します。

なお、この関数はPHP 8.0.0で廃止されました。現在の開発では、代わりに ZipArchive クラスを使用することが推奨されています。

使用例

以下は具体的な使用例です。「one.zip」というZIPファイルには「detail.txt」という1つのファイルのみが格納されており、その内容は次のとおりだとします。

Asia is a continent!

このファイルの内容を読み出すコードは次のようになります。

サンプルコード

<?php
    $zip_file = zip_open("one.zip");
    if ($zip_file) {
        while ($zip_entry = zip_read($zip_file)) {
            if (zip_entry_open($zip_file, $zip_entry)) {
                echo "ファイル内のテキスト = <br/>";
                echo zip_entry_read($zip_entry) . "<br />";
                zip_entry_close($zip_entry);
           }
       }
       zip_close($zip_file);
   }
?>

出力結果

ファイル内のテキスト =
Asia is a continent!

このように、zip_entry_read() 関数を使うことで、ZIPアーカイブ内の個々のエントリから中身のデータを簡単に取得できます。第2引数でバイト数を指定すれば、必要な分だけデータを読み込むことも可能です。

  1. PHPのfpassthru()関数の使い方を徹底解説

    fpassthru()関数とはPHPのfpassthru()関数は、開いているファイルからEOF(ファイルの終端)までデータを読み込み、その内容を出力バッファに書き出すための関数です。ファイルポインタから読み取った文字数を返し、エラーが発生した場合はFALSEを返します。構文fpassthru(file_pointer):パラメータfile_pointer − fopen()またはfsockopen()によって正常にオープンされ、まだfclose()で閉じられていないファイルを指すファイルポインタを指定します。戻り値fpassthru()関数は、ファイルポインタから読み取った文字数を返します。

  2. PHPのfopen()関数とは?構文・モード一覧・使い方をわかりやすく解説

    fopen()関数は、PHPでファイルまたはURLを開くための組み込み関数です。ファイル操作の入り口となる重要な関数で、処理に失敗した場合はFALSEを返し、エラーを出力します。エラー表示を非表示にしたい場合は、関数名の前に「@」を付けてください。 構文 fopen(file_path, mode, include_path, context) パラメータ file_path − 開きたいファイルへのパスを指定します。 mode − ファイルへのアクセス方式(モード)を指定します。主なモードは以下のとおりです。 r − 読み込み専用。ファイルポインタはファイルの先頭に置かれます。 r+ −