php将文件添加到压缩包中实现文件下载,最后下载下来的压缩包打不开,提示压缩包损坏。
错误代码如下:(网上大部分代码都是这种)
$filename=$_POST['del'];
if($filename!=''){ //去掉空值的情况(没有选中任何项,无表单传值)
$fileurl = "upload/download.zip"; //最终生成的文件名(含路径)
if(!file_exists($fileurl)){ //重新生成文件
$zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if ($zip->open($fileurl, ZIPARCHIVE::CREATE)!==TRUE) {
exit('无法打开文件,或者文件创建失败');
}
foreach($filename as $val){
$val=iconv("utf-8","gb2312",$val);
echo $val;
if(file_exists("upload/$val")){
$sql = "UPDATE file SET down=down+'1' WHERE filename = '$val'"; //执行更新点击数的语句