PHPで複数の画像やテキストファイルをzipファイルとしてダウンロードさせる方法
2024/04/16
PHPで画像ファイルやテキストファイルをzip圧縮して、ダウンロードさせたかった。ZipArchiveというクラスで簡単に出来るみたい。以下に対応方法をメモ。
リファレンス
http://php.net/manual/ja/book.zip.php
ソースコード
<?php set_time_limit(0); $zip = new ZipArchive(); $zipFileName = 'test.zip'; $zipTmpDir = '/test/zip'; $result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); if( $result !== true ){ //エラー処理 echo 'error!'; exit(); } //zipフォルダにファイルを追加 $zip->addFile('001.jpg'); $zip->addFile('002.jpg'); $zip->addFile('001.txt'); $zip->close(); //出力 header('Content-Type: application/zip; name="' . $zipFileName . '"'); header('Content-Disposition: attachment; filename="' . $zipFileName . '"'); header('Content-Length: '.filesize($zipTmpDir.$zipFileName)); echo file_get_contents($zipTmpDir.$zipFileName); //zipファイル削除 unlink($zipTmpDir.$zipFileName); exit();
関連記事
PHPにて同一サーバの別ディレクトリでセッションを振り分ける方法
同じサーバ内にmemberとownerの別ディレクトリがあり、それぞれにsess ...
PHPで月末日を取得
PHPファイルを触っている際に日付処理時、 date('t')というものがあって ...
PHPで携帯(スマホ含)とPCの判別
PHPにて携帯(スマホ含む)とPCで処理を振り分けたかったのでメモ。 <? ...
ディレクトリに設置してあるフォルダをPHPで調べて表示
やりたい事はsampleというディレクトリがあったとして、その直下にあるフォルダ ...
javascriptとPHPで正規表現を使う場合
とりあえず使いそうなのは検索と置換。 ■javascript var str = ...