php:ZipArchiveクラスでZIPファイルの圧縮と解凍

phpZIPファイルを圧縮解凍する場合のメモします。
下記にZipArchiveクラスを使用し、ZIPファイルの圧縮と解凍の方法を記載します。


ZipArchiveクラスが使用可能か確認

phpinfo()で下記がインストールされているか確認します。

php_zip


ZIPファイルを圧縮

「ZipArchive::CREATE」で新規にZIPファイルを作成します。
「addFile()」で指定したファイルを「./zip/hoge.zip」に圧縮します。
「addFile()」は複数指定することが可能です。

	$zip = new ZipArchive();
	// ZIPファイルをオープン
	$res = $zip->open('./zip/hoge.zip', ZipArchive::CREATE);

	// zipファイルのオープンに成功した場合
	if ($res === true) {

		// 圧縮するファイルを指定する
		$zip->addFile('hoge.txt');
		$zip->addFile('hoge.jpg');

		// ZIPファイルをクローズ
		$zip->close();
	}

ZIPファイルを解凍

解凍するZIPファイルをオープンし、「extractTo()」で指定した場所に展開します。
指定した場所を確認するとZIPファイルが解凍されていることが確認できます。

	// ZIPファイルのパス指定
	$zip_path = './zip/hoge.zip';

	$zip = new ZipArchive();

	// ZIPファイルをオープン
	$res = $zip->open($zip_path);

	// zipファイルのオープンに成功した場合
	if ($res === true) {

		// 圧縮ファイル内の全てのファイルを指定した解凍先に展開する
		$zip->extractTo('./zip/');

		// ZIPファイルをクローズ
		$zip->close();

	}

  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です