CXLII. Zipファイル関数(読込のみ)

導入

このモジュールにより、ZIP圧縮されたアーカイブととの内部のファイル を透過的に読み込むことが可能となります。

要件

このモジュールは、Guido Draheimにより作成されたライブラリ ZZIPlibの関数を使用します。 ZZIPlibバージョン >= 0.10.6が必要です。

ZZIPlib は、ZIPの圧縮アルゴリズムの完全な実装で提供される関数のサ ブセットであり、ZIPファイルアーカイブの読込みのみができることに注 意してください。このライブラリで読み込まれるZIPファイルアーカイブを 作成するには、通常のZIPユーティリティが必要です。

インストール手順

このPECL拡張 モジュールはPHPにバンドルされていません。 新規リリース、ダウンロード、ソースファイル、管理者情報、 CHANGELOGのような関連する情報については、次の場所にあります: http://pecl.php.net/package/zip.

PHP 4の場合、このPECL拡張モジュール のソースは、PHPのソースのext/ディレクトリまたは 上のPECLリンクで入手可能です。 Zipサポートを有効にするには、PHPのコンパイル時にconfigureのオプションに --with-zip[=DIR] を指定してコンパイルする必要があります。

Windowsユーザは、php.ini の中でphp_zip.dll を有効にすることにより、これらの関数を PHP 4の場合、このDLLは PHPのWindowsダウンロードバイナリのextensions/ディレクトリ にあります。 このPECL拡張モジュール のDLL PHPダウンロードページまたは http://snaps.php.net/からダウンロードできます。

注意: Zipサポートは、PHP 4.1.0以前は実験的なものでした。この拡張モジュー ルは、PHP 4.1.0以降に存在するZIP拡張モジュールを反映しています。

実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

リソース型

この拡張モジュールはリソース型を全く定義しません。

定義済みの定数

この拡張モジュールは定数を全く定義しません。

以下の例は、ZIPファイルアーカイブをオープンし、そのアーカイブの中の各 ファイルを読み込んで、その内容を出力するものです。この例で使用されて いる test2.php アーカイブは、ZZIPlibソース配布に 含まれるテスト用のアーカイブの一つです。

例 1. Zip の使用例

<?php

$zip
= zip_open("/tmp/test2.zip");

if (
$zip) {

    while (
$zip_entry = zip_read($zip)) {
        echo
"Name:               " . zip_entry_name($zip_entry) . "\n";
        echo
"Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo
"Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo
"Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (
zip_entry_open($zip, $zip_entry, "r")) {
            echo
"File Contents:\n";
            
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo
"$buf\n";

            
zip_entry_close($zip_entry);
        }
        echo
"\n";

    }

    
zip_close($zip);

}

?>
目次
zip_close -- Zipファイルアーカイブを閉じる
zip_entry_close -- ディレクトリエントリをクローズ
zip_entry_compressedsize -- ディレクトリエントリの圧縮時のサイズを取得す
zip_entry_compressionmethod -- ディレクトリエントリの圧縮方法を取得する
zip_entry_filesize -- ディレクトリエントリの実際のファイルサイズを取得する
zip_entry_name -- ディレクトリエントリの名前を取得する
zip_entry_open -- 読込み用にディレクトリエントリをオープンする
zip_entry_read -- オープンされたディレクトリエントリから読み込む
zip_open -- Zipファイルアーカイブをオープンする
zip_read -- Zipファイルアーカイブの中の次のエントリを読み込む