首页 > 编程语言 >php一键打包压缩目录文件代码示例

php一键打包压缩目录文件代码示例

时间:2023-10-18 09:03:00浏览次数:32  
标签:files 示例 filepath 一键 start file array php dir

<?php     
$button=$_POST['button'];     
if($button=="开始打包")     
{     
    $zip = new ZipArchive();     
    $filename = "./".date("Y-m-d")."_".md5(time())."_zy.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">    
            
            <P> <input type="submit" name="button" value="开始打包" /></P>     
                  
        </form>     
    </body>     
</html>

 

标签:files,示例,filepath,一键,start,file,array,php,dir
From: https://www.cnblogs.com/mo3408/p/17771222.html

相关文章

  • PHP8.1.5安装与启用Xdebug扩展
    1、进入终端窗口,输入php-i命令,显示出当前系统的PHP安装环境。2、把PHP-i的输出复制出来。如图所示3、打开https://xdebug.org/wizard网站,粘贴刚复制的字符,点击Analysemyphpinfo()output按钮,让网站自动分析。如下图1、下载安装包wgethttps://xdebug.org/files/xdebug-......
  • PHP课程笔记(第一课)
    1.第一课PHP代码标记:在PHP历史发展中,可以使用多种标记来区分PHP脚本ASP标记:<%php代码%>短标记:<?php代码?>脚本标记:<scriptlanguage="php">php代码</script>标准标记(常用):<?phpphp代码?>1.Web技术——B/S架构B/S(Browser/Server)架构:指的是浏览器/服务器端的......
  • h5网页点击一键跳转小程序
    我的需求是从公众号h5页面,点击跳转某个a链接跳转到小程序,此文档也是记录我的实现过程.开发语音:PHP前期准备工作:微信公众号ip白名单设置      js授权安全域名设置     access_token获取权限设置设置此次开发相关的工作:   登录微信公众后......
  • PHP 核心特性之匿名函数
    来源:http://www.shanhubei.com/archives/2814.html在匿名函数出现之前,所有的函数都需要先命名才能使用functionincrement($value){return$value+1;}array_map('increment',[1,2,3]);有的时候函数可能只需要使用一次,这时候使用匿名函数会使得代码更加简洁直观,......
  • php匿名函数怎么写
    来源:http://www.shanhubei.com/archives/2808.htmlPHP匿名函数和闭包使用的句法与普通函数相同,但匿名函和闭包数其实是伪装成函数的对象.匿名函数:就是没有名称的函数.匿名函数可以赋值给变量,对象传递.不过匿名函数仍是函数,因此可以调用,还可以传入参数.匿名函数特别适合作......
  • js时间戳和php时间戳
    js时间转换1、JavaScript的时间对象转换为时间戳1.1、时间对象转时间戳的5种写法在JavaScript中,将时间对象转换为时间戳的方法有5种,示例如下://定义一个时间对象dt,然后依次演示各种将dt转换为时间戳的写法vardt=newDate("2019-07-0423:59:59.999");//写法......
  • ecshop | php接入支付宝申报海关接口的总结【避坑】
    第一次对接支付宝的报关接口,害!不明白这个流程是很难接上的,搞了一天半,终于给搞出来了。在这里留下一点文字吧。代码前工作:用支付宝的密钥生成工具生成一对2048的公私钥,这对公私钥用来完成支付宝支付的加签和验签。把公钥上传到开放平台密钥中对应使用的应用接口加签方式中,私钥......
  • ubuntu安装php7.4-8.0
    更新,加入源apt-getupdateapt-yinstallsoftware-properties-common安装存储库ppa:ondrej/php,它提供所有PHP版本add-apt-repositoryppa:ondrej/phpapt-getupdate开始安装php74apt-yinstallphp7.4php-v安装额外的php模块apt-getinstall-yphp7.4-clip......
  • uni-app结合PHP实现单用户登陆demo及解析
    这篇文章主要为大家介绍了uni-app结合PHP实现单用户登陆示例过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪单用户登陆uni-appsocket单用户登陆例推送单用户登陆例单用户登陆即在一个应用中,同一个用户只能在线登陆一个,一个用户登陆,在其他设备上会......
  • php中关于token验证的相关问题详解
    这篇文章主要介绍了php中关于token验证的相关问题详解的相关资料,需要的朋友可以参考下目录token验证首先是为什么用?那么怎么用呢?token的组成一般token组成:JWT组成:标准的组成:总结token验证什么是token?我相信很多开发者都或多或少听过基于token的用户鉴权和基于session的用户......