![PHP解压ZIP压缩包到指定目录](https://www.k2zone.cn/wp-content/themes/begin5.2/img/blank.gif)
整理了一下前段时间用到的一个php解压缩的方法,感觉很好用,在这分享一下。在日常的开发过程中,php解压缩是很常见的,php本身也提供了一些打包和解压zip压缩包的函数,将这些函数组合一下就可以写成一套完整的打包和解压方法,本文章中的代码全部php原生,未使用第三方插件,下面送上代码。
程序代码:
1234567891011121314151617181920212223242526272829303132333435363738394041
/* * 解压文件 * 需开启配置 php_zip.dll * filename 要解压的文件全路径 * path 解压文件后保存路径 * 返回值 trur或者false * 作者:kTWO * 时间:2016-12-11 15:50:20 * 网址:https://www.k2zone.cn/ */ function get_zip($filename, $path) { $filename = iconv("utf-8", "gb2312", $filename); //中文路径转码 $path = iconv("utf-8", "gb2312", $path); if (!file_exists($filename)) { //先判断待解压的文件是否存在 die("文件 $filename 不存在!"); return false; } $resource = zip_open($filename); //打开压缩包 while ($dir_resource = zip_read($resource)) { //遍历读取压缩包里面的一个个文件 if (zip_entry_open($resource, $dir_resource)) { //如果能打开则继续 $file_name = $path.zip_entry_name($dir_resource); //获取当前项目的名称,即压缩包里面当前对应的文件名 $file_path = substr($file_name, 0, strrpos($file_name, "/")); //以最后一个“/”分割,再用字符串截取出路径部分 if (!is_dir($file_path)) { //如果路径不存在,则创建一个目录,true表示可以创建多级目录 mkdir($file_path, 0777, true); } if (!is_dir($file_name)) { //如果不是目录,则写入文件 $file_size = zip_entry_filesize($dir_resource); //读取这个文件 if ($file_size |