把所有文件保存在$file_array的数组中,然后对其进行操作,然后压缩文件zip,进行下载。
$dir="文件路径"; //这里输入其它路径
//PHP遍历文件夹下所有文件
$handle=opendir($dir.".");
// echo "文件:<br>";
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..") {
//输出文件名
$file_url.=$file."/";
}
}
$file_array=explode("/", $file_url);
closedir($handle);
//创建zip的压缩包
$zip = new ZipArchive();
if ($zip->open(G_FLEXPAPER_TMP_FILES.'/123456/text123.zip', ZipArchive::OVERWRITE) === TRUE)
{
$zip->addFile(G_FLEXPAPER_TMP_FILES.'123456/a.doc');//假设加入的文件名是p_w_picpath.txt,在当前路径下
if(isset($file_array)){
for ($i=0;$i<count($file_array);$i++){
$zip->addFromString(G_FLEXPAPER_TMP_FILES.'/123456/'.$file_array[$i], 'file content goes here');
}
}
$zip->close();
}
//下载 注意在JS里输出url,window.open(url);
$file_name = "xxx.rar";
$file_dir = "./up/";
if (! file_exists ( $file_dir . $file_name )) {
echo "文件找不到";
exit ();
} else {
$file = fopen ( $file_dir . $file_name, "r" );
Header ( "Content-type: application/octet-stream" );
Header ( "Accept-Ranges: bytes" );
Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );
Header ( "Content-Disposition: p_w_upload; filename=" . $file_name );
echo fread ( $file, filesize ( $file_dir . $file_name ) );
fclose ( $file );
exit ();
}