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 相关文章推荐
解决MySQL中文输出变成问号的问题
Jun 05 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
php正则修正符用法实例详解
Dec 29 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中strlen和mb_strlen的区别
2014/08/31 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
Yii框架安装简明教程
2020/05/15 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
Python的净值数据接口调用示例分享
2016/03/15 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python中pika模块问题的深入探究
2018/10/13 Python
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
JSF的标签库有哪些
2012/04/27 面试题
初婚初育证明
2014/01/14 职场文书
单位领导证婚词
2014/01/14 职场文书
中国入世承诺
2014/04/01 职场文书
社区先进事迹材料
2014/05/19 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
于丹论语心得观后感
2015/06/15 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
用JS写一个发布订阅模式
2021/11/07 Javascript