搜索
系统检测到您的用户名不符合规范:

zip压缩解压函数

浏览:9547 发布日期:2013年08月06日 分类:功能实现 关键字: zip压缩解压
zip压缩解压函数
<?php
function ezip($zip, $hedef = ''){
$dirname=preg_replace('/.zip/', '', $zip);
$root = $_SERVER['DOCUMENT_ROOT'].'/zip/';
// echo $root. $zip;
$zip = zip_open($root . $zip);
// var_dump($zip);
@mkdir($root . $hedef . $dirname.'/'.$zip_dosya);
while($zip_icerik = zip_read($zip)){

$zip_dosya = zip_entry_name($zip_icerik);
if(strpos($zip_dosya, '.')){
$hedef_yol = $root . $hedef . $dirname.'/'.$zip_dosya;
@touch($hedef_yol);
// echo $hedef_yol;
$yeni_dosya = @fopen($hedef_yol, 'w+');
@fwrite($yeni_dosya, zip_entry_read($zip_icerik));
@fclose($yeni_dosya);
// $yeni_dosya;

}else{
@mkdir($root . $hedef . $dirname.'/'.$zip_dosya);
// echo $root . $hedef . 'x/'.$zip_dosya;
};
};
}
// ezip('yuol.zip','./tr/');

function zip($path) {
$path=preg_replace('/\/$/', '', $path);
preg_match('/\/([\d\D][^\/]*)$/', $path, $matches, PREG_OFFSET_CAPTURE);
$filename=$matches[1][0].".zip";
// var_dump($filename);
// set_time_limit(0);
$zip = new ZipArchive();
$zip->open($filename,ZIPARCHIVE::OVERWRITE);//return ;
// var_dump($path);
if (is_file($path)) {
$path=preg_replace('/\/\//', '/', $path);
$base_dir=preg_replace('/\/[\d\D][^\/]*$/', '/', $path);
$base_dir=addcslashes($base_dir, '/:');

$localname=preg_replace('/'.$base_dir.'/', '', $path);
// var_dump($localname);
$zip->addFile($path,$localname);
// var_dump($path);
$zip->close();
return;
}elseif (is_dir($path)) {
$path=preg_replace('/\/[\d\D][^\/]*$/', '', $path);
$base_dir=$path.'/';//基目录
$base_dir=addcslashes($base_dir, '/:');
// var_dump($base_dir);
}
$path=preg_replace('/\/\//', '/', $path);
// var_dump($path);
function addItem($path,&$zip,&$base_dir){
// var_dump($path);
$handle = opendir($path);
// var_dump($path);
while (false !== ($file = readdir($handle))) {
if (($file!='.')&&($file!='..')){
// var_dump($file);
$ipath=$path.'/'.$file;
if (is_file($ipath)){//条目是文件
$localname=preg_replace('/'.$base_dir.'/', '', $ipath);
var_dump($localname);
$zip->addFile($ipath,$localname);
// var_dump($r);
} else if (is_dir($ipath)){
addItem($ipath,$zip,$base_dir);
$localname=preg_replace('/'.$base_dir.'/', '', $ipath);
var_dump($localname);
$zip->addEmptyDir($localname);
}
// var_dump($path);
}
}
}
// var_dump($base_dir);
addItem($path,$zip,$base_dir);
$zip->close();
}
zip('D:/wamp/www/sample/main/');

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

收藏
独孤影
积分:1335 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /