PHPのプログラム上でZIPファイルを展開する方法

PHPでZIPファイルを展開するサンプルを書いた PHP5

PHPでZIPファイルを展開するサンプルを書いた

PHPでZIPを展開するサンプルです。ZIPファイルでアップロードした内容をサーバ上で処理するときなどに利用できるかと思います。パスワードのないZIPにのみ対応しています。

/tmp直下にランダムな名前を生成して、そこに対してzipを展開します。ZipArchiveを利用して展開しています。ファイルが開けない場合は例外が発生します。

展開後は対象のディレクトリ以下のファイル一覧を取得して適宜プログラムを実装すると良いと思います。

$preparePath = '/tmp/' . md5(time() . rand());

  // zipの展開
  $zip = new ZipArchive();
  $res = $zip->open('zipファイルのフルパス');

  // 失敗した時は例外
  if ($res != true) {
    throw new Exception('ZIPファイルの読み込みに失敗しました-->' . $res);
  }

  $zip->extractTo($preparePath);
  $zip->close();

 

是非活用してみてください。では。