$zipname = './file.zip';
$fileArr[0] = array('file_path' => './index.php', 'down_path' => 'test/index.php');
$fileArr[1] = array('file_path' => './index.html', 'down_path' => 'test/index.html');
//要使用该类,需要先启用 extension=php_zip.dll
$zip = new \ZipArchive ();
$res = $zip->open ( $zipname, \ZipArchive::CREATE );
if ($res === TRUE) {
foreach ( $fileArr as $file ) {
//这里将服务器上的文件添加到下载内容中,并重新赋值下载zip文件内该文件的路径
$zip->addFile ( $file ['file_path'], $file ['down_path'] );
}
}
$zip->close ();
header ( "Content-Type: application/zip" );
header ( "Content-Transfer-Encoding: Binary" );
header ( "Content-Length: " . filesize ( $zipname ) );
header ( "Content-Disposition: attachment; filename=\"" . basename ( $zipname ) . "\"" );
readfile ( $zipname );
//如不删除,则在服务器上会有 $zipname 这个zip文件
@unlink ( $zipname );