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 相关文章推荐
关于时间计算的结总
Dec 06 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
ThinkPHP独立分组使用的注意事项
Nov 25 PHP
PHP 错误处理机制
Jul 06 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP autoload使用方法及步骤详解
Sep 05 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对二维数组进行排序的简单实例
2013/12/19 PHP
php获取文件大小的方法
2014/02/26 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
PHP文件操作详解
2016/12/30 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
Python标准库inspect的具体使用方法
2017/12/06 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
标准导师推荐信(医学类)
2013/10/28 职场文书
求职信需要的五点内容
2014/02/01 职场文书
户外拓展活动方案
2014/02/11 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
住宅质量保证书
2014/04/29 职场文书
个人课题方案
2014/05/08 职场文书
责任书范本
2014/08/25 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
二十年同学聚会感言
2015/07/30 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python