1. [图片] zip.JPG
2. [代码][PHP] 代码
- <?php
- header("content-Type: text/html; charset=utf-8");include "pclzip.lib.php";@set_time_limit(0);
- $password = "123456";// 验证密码
- ?-->
- <? if(!$_REQUEST["myaction"]):?-->
在线解压 ZIP 文件程序 -- 欢迎浏览: 爱美丽女装
使用方法: 把 zip 文件通过 FTP 上传到本文件相同的目录下, 选择 zip 文件;
选择 ZIP 文件:
解压到目录:
(留空为本目录, 必须有写入权限, 其它目录如: bitefu)
验证密码:
(源文件中设定的密码)
在线压缩 ZIP 文件程序
使用方法: 填写压缩目录, 填写压缩后文件名;
压缩目录:
(留空为当前目录, 必须有写入权限, 其它目录如: bitefu)
压缩后文件名: "size="30">
(压缩后文件名, 如 www.ibtf.net.zip)
验证密码:
- (源文件中设定的密码)
- <?
- elseif($_REQUEST["myaction"]=="dounzip"):
- if ($_POST['password'] != $password) die("输入的密码不正确, 请重新输入");
- $path = '';$remove ='';
- $name = u2g(trim($_REQUEST['zipfile']));
- $unzippath = $_POST["todir"]?u2g(trim($_REQUEST['todir'],'/')).'/':'./';
- if(file_exists($path.$name) && is_file($path.$name)){
- $zip = new PclZip($path.$name);
- $result = $zip--->extract($path.(('./' == $unzippath)?'':$unzippath), $remove);
- $data = array();
- if($result){
- $data['statusCode'] = 200;
- $list = $zip->listContent();
- $fold = 0; $fil = 0; $tot_comp = 0; $tot_uncomp = 0;
- foreach($list as $key=>$val){if ($val['folder']=='1') {++$fold;}else{++$fil;$tot_comp += $val['compressed_size'];$tot_uncomp += $val['size'];}}
- G('_unzip_end');
- $data['message'] = '解压目标文件:'.g2u($name).'
- ';
- $data['message'] .= '解压文件详情: 共'.$fold.'个目录,'.$fil.'个文件';
- $data['message'] .= '压缩文档大小:'.dealsize($tot_comp).'
- ';
- $data['message'] .= '解压文档大小:'.dealsize($tot_uncomp).'
- ';
- $data['message'] .= '解压总计耗时:'.G('_run_start','_run_end',6).'秒';
- }else{
- $data['statusCode'] = 300;
- $data['message'] .= '解压失败:'.$zip->errorInfo(true).'
- ';
- $data['message'] .= '执行耗时:'.G('_run_start','_run_end',6).'秒';
- }
- //exit(json_encode($data));
- }else{
- $data = array();
- $data['statusCode'] = 300;
- $data['message'] = 'Sorry, 未知错误, 无法解压:'.$path.$name.'文件!';
- //exit(json_encode($data));
- }echo $data['message'];
- elseif($_REQUEST["myaction"]=="dozip"):
- if ($_POST['password'] != $password) die("输入的密码不正确, 请重新输入");
- $data = array();$_REQUEST['type']=2;
- $endpath=explode("/",$_SERVER['PHP_SELF']);$endpath=$endpath[count($endpath)-2];
- $file = $_REQUEST['todir']?u2g(trim($_REQUEST['todir'])):"../".$endpath;
- $fileend = $_REQUEST['todir']?'zip':$file;
- $zipname = u2g(trim($_REQUEST['toname']));
- $path = dirname($file);
- $Zip = new PclZip($zipname);
- if(!file_exists($zipname) && $Zip->create($file,PCLZIP_OPT_REMOVE_PATH,$fileend)){
- $data['statusCode'] = 200;
- $list = $Zip->listContent();
- if($list){
- $fold = 0; $fil = 0; $tot_comp = 0; $tot_uncomp = 0;
- foreach($list as $key=>$val){if ($val['folder']=='1') {++$fold;}else{++$fil;$tot_comp += $val['compressed_size'];$tot_uncomp += $val['size'];}}
- $data['message'] = '压缩目标文件:'.g2u($zipname).'
- ';
- $data['message'] .= '压缩文件详情: 共'.$fold.'个目录,'.$fil.'个文件';
- $data['message'] .= '压缩文档大小:'.dealsize($tot_comp).'
- ';
- $data['message'] .= '解压文档大小:'.dealsize($tot_uncomp).'
- ';
- $data['message'] .= '压缩执行耗时:'.G('_run_start','_run_end',6).'秒';
- $data['message'] .= '压缩文件列表:';
- foreach($list as $key => $val){
- if(10> $key){$key = '00'.$key;}elseif(100> $key){$key = '0'.$key;}
- $data['message'] .= ''.$key.'=>'.($val['folder']?'目录:':'文件:').g2u($val['filename']).'
- ';
- }
- }
- }else{
- $data['statusCode'] = 300;
- if(file_exists($zipname)){$error = $zipname.'已经存在!';}else{$error = $Zip->errorInfo(true);}
- $data['message'] = '压缩失败:'.$error.'
- ';
- $data['message'] .= '执行耗时:'.G('_run_start','_run_end',6).'秒';
- }
- echo $data['message'];
- endif;
- ?>
来源: https://www.php1.cn/detail/php-1ea213a0ea.html