头像

PHP 压缩目录成zip文件 压缩至包根目录中 完美运行代码

资源/模板错误反馈 收集员 浏览(1241)   

function addFileToZip($path,$zip){
	$path1='';
  $handler=opendir($path); //打开当前文件夹由$path指定。
  
  $pieces = explode("/", $path);
	for ($x=1; $x<count($pieces); $x++) {
		$path1.=$pieces[$x].'/';//去除上级目录
	}
  while(($filename=readdir($handler))!==false){
	 // echo '<br>'.$filename;
    if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..',不要对他们进行操作
	  if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
        addFileToZip($path."/".$filename, $zip);
      }else{ //将文件加入zip对象,将文件写入新的路径名称中!
        $zip->addFile($path."/".$filename,$path1.$filename);
      }
    }
  }
  @closedir($path);
}

$zip=new ZipArchive();
if($zip->open('demo8.zip', ZipArchive::OVERWRITE)=== TRUE){
  addFileToZip('demo8', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
  $zip->close(); //关闭处理的zip文件
  }

将文件夹demo8 压缩成demo8.zip


版本要求(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

标签:压缩
AD:Php/Tp5程序开发二次开发联系QQ839070295
评论0
头像

模板缺失不完整!联系我!