[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で行います。ただ、私はこちらを使ったことがないので説明は省きます。

スポンサーリンク


Comment