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

      2016/05/23

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();

 

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

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - PHP ,