phpMyAdmin のライブラリを使用して、複数ファイルを圧縮できるようにします。
「zip.lib.php」を使用します。
<?php header( "Content-Type: application/octet-stream" ); header( "Content-disposition: attachment; filename=comp.zip" ); require_once('zip.lib.php'); // クラス作成 $zipfile = new zipfile(); // ファイルリストを読み込む $line = file('tmp/lists.data'); $file_name = explode(',', $line[0]); $i = 0; while($file_name[$i] != ""){ // ダウンロード元ファイルのPath $filename = $file_name[$i]; // 保存時のファイル名 ${'fName'.$i} = $filename; // ファイルをバイナリで読んで、変数にセット $handle = fopen($filename, "rb"); $contents = fread($handle, filesize($filename)); fclose($handle); // 追加 $zipfile->addFile($contents, ${'fName'.$i}); $i ++; } // zip をバイナリで変数にセット $zip_buffer = $zipfile->file(); print $zip_buffer; ?>