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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
用PHP生成静态HTML速度快类库
Mar 18 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
PHP 自定义错误处理函数的使用详解
May 10 PHP
如何设置mysql允许外网访问
Jun 04 PHP
PHP、Java des加密解密实例
Apr 27 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
php自定义时间转换函数示例
Dec 07 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
php5.6.x到php7.0.x特性小结
Aug 17 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
其他功能
2006/10/09 PHP
php 随机排序广告的实现代码
2011/05/09 PHP
PHP基础知识回顾
2012/08/16 PHP
php获取图片信息的方法详解
2015/12/10 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
最短的IE判断代码
2011/03/13 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
mac系统安装Python3初体验
2018/01/02 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
kafka-python批量发送数据的实例
2018/12/27 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
中专毕业生求职简历的自我评价
2013/10/21 职场文书
大学生自荐信
2013/12/11 职场文书
小班秋游活动方案
2014/02/22 职场文书
运动会加油稿20字
2014/11/15 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书