<?php
$fileList=["D:/phpstudy_pro/WWW/date.php","D:/phpstudy_pro/WWW/date1.php"];//文件
$filename = "test.zip";//把66.txt+666.txt文件都压缩进test.zip压缩包中
$zip = new ZipArchive();//创建压缩包镀锡
$zip->open($filename,ZipArchive::CREATE); //打开压缩包
foreach($fileList as $file){//遍历两个文件date.txt date1.txt
$zip->addFile($file,basename($file)); //向压缩包中添加文件(date.txt date1.txt)
}
$zip->close(); //关闭压缩包
//下载文件
$file = fopen($filename, "r");//打开压缩包
//返回的文件类型
Header("Content-type: application/octet-stream");
//按照字节大小返回
Header("Accept-Ranges: bytes");
//返回文件的大小
Header("Accept-Length: " . filesize($filename));
//这里设置客户端的弹出对话框显示的文件名
Header("Content-Disposition: attachment; filename=" . $filename);
//一次性将数据传输给客户端
//echo fread($file, filesize($filePath));
//一次只传输1024个字节的数据给客户端
//向客户端回送数据
$buffer = 1024;//
//判断文件是否读完
while (!feof($file)) {
//将文件读入内存
$file_data = fread($file, $buffer);
//每次向客户端回送1024个字节的数据
echo $file_data;
}
//将生成的zip文件在服务器端删除,只需要客户端下载就行了
// @unlink($filename);