phpでZIPファイルを圧縮、解凍する場合のメモします。
下記にZipArchiveクラスを使用し、ZIPファイルの圧縮と解凍の方法を記載します。
■ ZipArchiveクラスが使用可能か確認
phpinfo()で下記がインストールされているか確認します。
■ 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(); }