月別アーカイブ: 2016年3月

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

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

}