php 在线打包_支持子目录


Posted in PHP onJune 28, 2008

程序使用了php的zip扩展,如果服务器支持,那就可以用了^_^,生成的zip压缩包可以用winrar等来解压的,当然也可以用php来解压。解压的过段时间再发布了。

<?php    
$button=$_POST['button'];    
if($button=="开始打包")    
{    
    $zip = new ZipArchive();    
    $filename = "./".date("Y-m-d")."_".md5(time())."_jackfeng.zip";    
    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {    
        exit("无法创建 <$filename>\n");    
        }    
    $files = listdir();    
    foreach($files as $path)    
    {    
        $zip->addFile($path,str_replace("./","",str_replace("\\","/",$path)));   
    }   
    echo "压缩完成,共压缩了: " . $zip->numFiles . "个文件\n";   
    $zip->close();   
}   
Function listdir($start_dir='.') {   
  $files = array();   
  if (is_dir($start_dir)) {   
   $fh = opendir($start_dir);   
   while (($file = readdir($fh)) !== false) {   
     if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue;   
     $filepath = $start_dir . '/' . $file;   
     if ( is_dir($filepath) )   
       $files = array_merge($files, listdir($filepath));   
     else   
       array_push($files, $filepath);   
   }   
   closedir($fh);   
  } else {   
   $files = false;   
  }   
 return $files;   
}   
?>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >    
<html>    
    <head>    
        <title>在线打包工具</title>    
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
    </head>   
    <body>   
        <form name="form1" method="post" action="">   
            <hr size="1">   
            <h3><a href="?">在线打包工具</a></h3>   
            <P> <input type="submit" name="button" value="开始打包" /></P>    
            <P>说明:点开始打包,之后,就是耐心等待打包完成了,根据网站文件多少,需要的时间可能会很长。打包完成之后,压缩包会存放在要打包的站点目录下,以<span style='color:red;'>打包时间+不定长随机字符串+jackfeng.zip</span>这样命名,请登陆ftp后下载。</P>    
        </form>    
    </body>    
</html>

PHP 相关文章推荐
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
php 前一天或后一天的日期
Jun 28 #PHP
js下函数般调用正则的方法附代码
Jun 22 #PHP
php的正则处理函数总结分析
Jun 20 #PHP
PHP伪静态页面函数附使用方法
Jun 20 #PHP
PHP伪静态写法附代码
Jun 20 #PHP
用PHP伪造referer突破网盘禁止外连的代码
Jun 15 #PHP
php学习 字符串课件
Jun 15 #PHP
You might like
php 多个submit提交表单 处理方法
2009/07/07 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
使用微信小程序开发前端【快速入门】
2016/12/05 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
python实现百度关键词排名查询
2014/03/30 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
服务之星获奖感言
2014/01/21 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis