欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

php教程

Zip压缩文件夹php打包函数代码

php教程 我的站长站 2023-06-30 共37人阅读

分享一个我的站长站自用的Zip压缩文件夹php打包函数代码,Zip相关函数是PHP的扩展功能,此函数可以直接复制使用。

以下是代码:

<?php
# 将文件夹的文件压缩到文件里
class Zip
{
   /**
    * 将目标文件夹下的内容压缩到zip中(zip包含文件夹目录)
    * @param $sourcePath *文件夹路径 例: /home/test
    * @param $outZipPath *zip文件名(包含路径) 例: /home/zip_file/test.zip
    * @return string
    */
   public static function zipFolder($sourcePath, $outZipPath)
   {
       $parentPath = rtrim(substr($sourcePath, 0, strrpos($sourcePath, '/')),"/")."/";
       $dirName = ltrim(substr($sourcePath, strrpos($sourcePath, '/')),"/");
       $sourcePath=$parentPath.'/'.$dirName;//防止传递'folder'文件夹产生bug
       $z = new \ZipArchive();
       $z->open($outZipPath, \ZIPARCHIVE::CREATE);//建立zip文件
       $z->addEmptyDir($dirName);//建立文件夹
       folderToZip($sourcePath, $z, strlen("$parentPath/"));
       $z->close();
       return $outZipPath;
   }
   public static function folderToZip($folder, &$zipFile, $exclusiveLength)
   {
       $handle = opendir($folder);
       while (false !== $f = readdir($handle)) {
           if ($f != '.' && $f != '..') {
               $filePath = "$folder/$f";
               // 在添加到zip之前从文件路径中删除前缀
               $localPath = substr($filePath, $exclusiveLength);
               if (is_file($filePath)) {
                   $zipFile->addFile($filePath, $localPath);
               } elseif (is_dir($filePath)) {
                   // 添加子文件夹
                   $zipFile->addEmptyDir($localPath);
                   self::folderToZip($filePath, $zipFile, $exclusiveLength);
               }
           }
       }
       closedir($handle);
   }
}


相关推荐
  • php代码
  • php打包
  • PHP函数
  • 解压压缩
  • 支付宝企业账户转账个人账户php接口代码

    前言支付宝企业账户转账个人账户php接口代码,该接口主要用于平台对用户奖励的发放,场景也很简单就是我在你平台上有余额,我提现,平台给钱。只不过项目中是用的官方的SDK调用的,仔细看了下那个SDK目录,把很多无用的接口(目前自己用不上)也包含在里面,作为强...

    php教程 161 2年前
  • php判断目录文件是否存在

    一段简单的php判断目录文件是否存在代码,收藏记录一下,以后肯定用得到的。<?php$filename = &#39;../../e/install/&#39;; if (file_exists($filename)) { echo "<h3><div align=&#39;center&#39;><font color=&#39;#FF0000&#39;>存在安全风险!请将 ...

    php教程 115 2年前
  • curl函数获取API接口数据方法

    PHP利用curl函数,获取API接口数据方法示例代码,自用收藏<?php $weather = curl_init(); curl_setopt($weather,CURLOPT_URL,"https://api.pc2801.com/cqssc/".time()); curl_setopt($weather, CURLOPT_SSL_VERIFYPEER, false); //如果...

    php教程 89 2年前
  • 158网盘直连解析代码

    API代码<?php/*** @package 158Pan* @author Andy* @version 1.2.0* @link https://lsland.cn*/// 指定允许其他域名访问 header(&#39;Access-Control-Allow-Origin:*&#39;);header(&#39;content-type:application/json;charset:utf-8&#39;);functi...

    php教程 132 2年前
  • PHP获取QQ用户昵称+头像API接口代码

    如果要获得QQ用户的头像和昵称,需要在腾讯开放平台申请API接入才可以,但是这个不需要!只需要输入用户的正确的QQ号即可返回用户的头像和昵称。API接口代码<?php // 通过QQ号即可获取用户信息 // 获取QQ头像接口// http://q1.qlogo.cn/g?b=qq&nk=QQ号&s=...

    php教程 225 2年前
  • Zip压缩文件夹php打包函数代码

    分享一个我的站长站自用的Zip压缩文件夹php打包函数代码,Zip相关函数是PHP的扩展功能,此函数可以直接复制使用。以下是代码:<?php# 将文件夹的文件压缩到文件里class Zip{ /** * 将目标文件夹下的内容压缩到zip中(zip包含文件夹目录) * @param $s...

    php教程 37 9个月前
  • php一键打包压缩目录文件代码示例

    新建一个PHP文件,保存以下代码,放到需要打包的文件夹内,浏览器访问文件即可。<?php $button=$_POST[&#39;button&#39;]; if($button=="开始打包") { $zip = new ZipArchive(); $filename = "./".date("Y-m-d")."_".md5(tim...

    php教程 471 1年前
  • PHP数组转换为JSON格式数据

    PHP数组转换为JSON格式数据,这里介绍下PHP json_encode函数,他可以轻松完成转换。json_encode函数PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。json_encode语法string json_encode ( $value [, $opt...

    php教程 99 3年前
  • 利用get_headers函数判断链接是否有效或失效

    PHP判断链接是否有效或失效的方法代码,get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。函数定义array get_he...

    php教程 117 3年前
  • 利用explode() 函数分隔字符

    explode()函数本函数为 implode() 的反函数,使用一个字符串分割另一个字符串,返回一个数组。语法:codearray explode( string separator, string string [, int limit] )参数说明:separator 分割标志 string 需要分割的字符串 limit 可选...

    php教程 75 3年前
  • PHP Array函数教程

    PHP Array函数,主要功能:创建索引数组。PHP Array语法索引数组的语法:array(value1,value2,value3,etc.);关联数组的语法array(key=>value,key=>value,key=>value,etc.);定义和用法array() 函数用于创建数组。在 PHP 中,有三种类型的数组:索引数组 - 带有...

    php教程 61 3年前
  • json_encode函数中文乱码解决方法

    在用到json_encode函数对数据进行json格式转换时,中文会乱码,这里需要用到JSON_UNESCAPED_UNICODE对中文不编码处理。实战案列<?php $arr = array(&#39;11px&#39; => &#39;我的站长站&#39;, &#39;taobao&#39; => &#39;淘宝网&#39;); echo json_enc...

    php教程 50 3年前
  • 单文件在线解压和压缩PHP源码
    单文件在线解压和压缩PHP源码

    源码介绍在线解压和压缩PHP源码,单文件源码,无需数据库,只需上传至指定目录即可立即使用。源码截图

    php源码 9 4个月前
  • 帝国CMS二次开发压缩与解压缩功能使用教程

    在使用帝国CMS建站,用到压缩与解压缩功能的很少,所以很少相关的文章。使用这些功能的基本是一些网页展示下载站一样。在帝国CMS系统文件中,e/class/phpzip.inc.php是专门处理文件压缩功能的,阅读代码你会发现,它没有解压缩功能。网站有个模板版块提供各...

    帝国cms教程 151 5年前
  • python暴力破解压缩包密码脚本

    import rarfileimport zipfileimport py7zrc = 0a = 0print("本软件只支持 7z , zip , rar格式的压缩包")zd = input("请输入字典位置:")try: ozd = open(zd,"r",encoding="utf8").read().split("\n")except: print("字典读取失败"...

    python教程 168 2年前
  • photoshopCS6 极简阉割70M破解版 解压即用
    photoshopCS6 极简阉割70M破解版 解压即用

    photoshopCS6 极简阉割100M破解版 解压即用,随身保存在移动硬盘的PS,压缩包仅仅70多M。删除一切没必要的功能,只保留左侧主功能,小巧方便携带。...

    开发软件 744 4年前
  • ARCHPR 4.50解压密码破解神器
    ARCHPR 4.50解压密码破解神器

    工具说明ARCHPR 4.50是国外一款解压密码破解神器,多项选择,暴力破解。解压密码破解截图安装教程1:首先,我们先把 EXE 文件按照提示安装好2:关键一步:填写注册码,在软件界面“帮助H”“输入注册码”注册...

    软件分享 200 2年前