首页 > php教程 > php手册 > 正文

zip压缩解压函数

php中文网
发布: 2016-06-07 11:44:20
原创
1573人浏览过

zip压缩解压函数
<?php <br /> function ezip($zip, $hedef = ''){<br>     $dirname=preg_replace('/.zip/', '', $zip);<br>     $root = $_SERVER['DOCUMENT_ROOT'].'/zip/';<br>     // echo $root. $zip;<br>     $zip = zip_open($root . $zip);<br>     // var_dump($zip);<br>     @mkdir($root . $hedef . $dirname.'/'.$zip_dosya);<br>     while($zip_icerik = zip_read($zip)){<br><br>         $zip_dosya = zip_entry_name($zip_icerik);<br>         if(strpos($zip_dosya, '.')){<br>             $hedef_yol = $root . $hedef . $dirname.'/'.$zip_dosya;<br>             @touch($hedef_yol);<br>             // echo $hedef_yol;<br>             $yeni_dosya = @fopen($hedef_yol, 'w+');<br>             @fwrite($yeni_dosya, zip_entry_read($zip_icerik));<br>             @fclose($yeni_dosya); <br>             // $yeni_dosya;<br><br>         }else{<br>             @mkdir($root . $hedef . $dirname.'/'.$zip_dosya);<br>             // echo $root . $hedef . 'x/'.$zip_dosya;<br>         };<br>     };<br> }<br> // ezip('yuol.zip','./tr/');<br><br> function zip($path) {<br>     $path=preg_replace('/\/$/', '', $path);<br>     preg_match('/\/([\d\D][^\/]*)$/', $path, $matches, PREG_OFFSET_CAPTURE);<br>     $filename=$matches[1][0].".zip";<br>     // var_dump($filename);<br>     // set_time_limit(0);<br>     $zip = new ZipArchive();<br>     $zip-&gt;open($filename,ZIPARCHIVE::OVERWRITE);//return ;<br>     // var_dump($path);<br>     if (is_file($path)) {<br>         $path=preg_replace('/\/\//', '/', $path);<br>         $base_dir=preg_replace('/\/[\d\D][^\/]*$/', '/', $path);<br>         $base_dir=addcslashes($base_dir, '/:');<br><br>         $localname=preg_replace('/'.$base_dir.'/', '', $path);<br>         // var_dump($localname);<br>         $zip-&gt;addFile($path,$localname);<br>         // var_dump($path);<br>         $zip-&gt;close();<br>         return;<br>     }elseif (is_dir($path)) {<br>         $path=preg_replace('/\/[\d\D][^\/]*$/', '', $path);<br>         $base_dir=$path.'/';//基目录<br>         $base_dir=addcslashes($base_dir, '/:');<br>         // var_dump($base_dir);<br>     }<br>     $path=preg_replace('/\/\//', '/', $path);<br>     // var_dump($path);<br>     function addItem($path,&amp;$zip,&amp;$base_dir){<br>         // var_dump($path);<br>         $handle = opendir($path);<br>         // var_dump($path);<br>         while (false !== ($file = readdir($handle))) {<br>             if (($file!='.')&amp;&amp;($file!='..')){<br>                 // var_dump($file);<br>                 $ipath=$path.'/'.$file;<br>                 if (is_file($ipath)){//条目是文件<br>                     $localname=preg_replace('/'.$base_dir.'/', '', $ipath);<br>                     var_dump($localname);<br>                     $zip-&gt;addFile($ipath,$localname);<br>                     // var_dump($r);<br>                 } else if (is_dir($ipath)){<br>                     addItem($ipath,$zip,$base_dir);<br>                     $localname=preg_replace('/'.$base_dir.'/', '', $ipath);<br>                     var_dump($localname);<br>                     $zip-&gt;addEmptyDir($localname);<br>                 }<br>                 // var_dump($path);<br>             }<br>         }<br>     }<br>     // var_dump($base_dir);<br>     addItem($path,$zip,$base_dir);<br>     $zip-&gt;close();<br> }<br> zip('D:/wamp/www/sample/main/');

附件 zip.zip ( 1.03 KB 下载:310 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号