[PHP]ZipArchiveクラスを使ってzipファイルを解凍する

Read More


PHPのZipArchiveクラスを使ってzipファイルを解凍する。

関連ページ
■[PHP]ZipArchiveクラスを使ってzipファイルを作成する
http://xirasaya.com/?m=detail&hid=546


PHP4の頃はzip_open()とかzip_close()ってのを使ってzipファイルを操作することができたけどPHPのVer.5.2.0からZipArchiveクラスを利用できるようになった。


■zipファイルを解凍する
$chk=true;
$zip_obj = new \ZipArchive();
if($chk = $zip_obj->open($zip_file_path))
{
  $chk = $zip_obj->extractTo($local_dir_path);
  $zip_obj->close();
}
echo $chk;



■暗号化zipファイルを解凍する
$chk=true;
$zip_obj = new \ZipArchive();
if($chk = $zip_obj->open($zip_file_path))
{
  if($chk = $zip_obj->setPassword($zip_pwd))
  {
    $chk = $zip_obj->extractTo($local_dir_path);
    $zip_obj->close();
  }
}
echo $chk;



ふと思ったんだけどZipArchiveクラスを使うメリットってなんだろう。
ZipArchiveクラスにしかないメソッドがあったりする、ってのはなんとなく予想はつくんだけどそれ以外でなんかあるのかな。

ま、その内調べることもあるだろう。



あと圧縮ファイルには解凍と展開って同じ意味の言葉が二つあるけど最近の子らはどうも展開っていうぽい。




参考サイト
■PHP公式サイト: ZipArchive クラス
http://php.net/manual/ja/class.ziparchive.php





--2017/06/21 プログラム修正
一部処理がおかしいところがあったので修正