[PHP] Zipファイルの圧縮・解凍を行うライブラリ「dUnzip2」
スポンサーリンク
「dUnzip2」はzipファイルの作成や解凍を行うPHPのクラスライブラリです。以前に見つけて使ったところ便利だったので愛用しています。作者はブラジルの方で説明は英文しかありませんが、簡単な内容なので問題はないでしょう。
ライセンスがBSDという点も使いやすくて良いです。
dUnzip2を使ったZipファイルの解凍
<?php require 'dUnzip2.inc.php'; $path = 'compressedfile.zip'; //zipファイルのパス $instance = new dUnzip2( $path ); $files = $instance->getList(); //Zipファイル内のファイルリストを取得 foreach( $files as $key => $val ) { if( preg_match( "/\.txt$/u" , $key ) ) //拡張子がtxtのファイル名を取り出し { $text = $instance->unzip( $key ); //指定したファイルを解凍 break; } }
dUnzip2の使い方ですが、インスタンス化の際にZipファイルのパスを渡します。ファイルリストの取得は$instance->getList()
で行えます。$instance->unzip( $filename )
でZip内の指定ファイルのみを取り出します。
全ファイルの展開は$instance->unzipAll()
で行います。引数を指定していない場合、圧縮ファイルと同じディレクトリに展開されます。ファイルを展開するディレクトリを指定したい場合は第1引数で指定します。
dUnzip2を使ったZipファイルの圧縮は同梱のdZip.inc.phpで行います。ただ、私はこちらを使ったことがないので説明は省きます。
スポンサーリンク