zoukankan      html  css  js  c++  java
  • php在线打包工具

    一哥们要实现 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>
    ");     
            }     
        $files = listdir();     
        foreach($files as $path)     
        {     
            $zip->addFile($path,str_replace("./","",str_replace("\","/",$path)));    
        }    
        echo "压缩完成,共压缩了: " . $zip->numFiles . "个文件
    ";    
        $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>

     文章来源:https://www.xiariboke.com/codes/1595.html

  • 相关阅读:
    别人走的路--2
    win7下80端口被(Pid=4)占用的解决方法
    实习第一天原来是配置环境
    api接口大全
    java计算两个日期之间相隔的天数
    【转】overload与override的区别
    Overload和Override的区别?
    浅析Java中的final关键字
    JAVA中的finalize()方法
    封装
  • 原文地址:https://www.cnblogs.com/jiangchuanyu/p/6520456.html
Copyright © 2011-2022 走看看