php中把文件压缩为zip格式可以使用php的zip扩展实现。

/**
     * @apiDescription 压缩打包zip
     * @param $saveDir
     * @param $zipName
     */
    protected function packToZip($saveDir, $zipName)
    {
        // 验证压缩文件是否已存在?存在则删除
        if(file_exists($zipName)) {
            unlink($zipName);
        }
        $zip = new \ZipArchive();
        if($zip->open($zipName, \ZipArchive::CREATE) === TRUE) {
            $this->addFileToZip($saveDir, $zip,$saveDir); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
            $zip->close(); //关闭处理的zip文件
        }
        return ;
    }
    /**
     * @apiDescription    往zip中添加文件
     * @param $path       需压缩的文件路径
     * @param $zip        zip对象
     */
    protected function addFileToZip($path, $zip){
        $handler = opendir($path);
        while(($filename = readdir($handler)) !== false) {
            if($filename != "." && $filename != "..") { //文件夹文件名字为'.'和‘..’,不要对他们进行操作
                if(is_dir($path . $filename)) { // 如果读取的某个对象是文件夹,则递归
                    self::addFileToZip($path . $filename . DS, $zip);
                } else { //将文件加入zip对象
                    $zip->addFile($path.$filename);
                }
            }
        }
        @closedir($handler);
        return ;
    }


  • 联动菜单数据列表 linkage标签

    一、语法{linkage code=标识代码 ....}{/linkage}二、参数介绍(红色表示必填参数,蓝色表示系统默认参数)参数介绍code联动菜单的标识代码,例如中国地区,填写addresss

  • DIY字段:搜索条件开发

    当使用DIY类型字段时,在搜索这个字段时的开发处理,需要定义回调函数自定义函数文件统一放在/config/custom.php中函数名称格式:function dr_diy_field_DIY文件名_

  • 此模块是动态地址,无法开启静态

    提示此模块是动态地址,无法开启静态需要给独立模块开启地址规则

  • 单选字段Radio

    内容详情中(show.html) 模板中调用方法是:选择值:{$字段名} 选择的名称: {php $field = dr_field_options(字段ID号);} {$field[$字段名]} 注意:1、[字段名]需要换成你定义的具体字段英文名称2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]

  • www域名301

    把不带www的域名301到带www的域名,例如xunruicms.com定向到www.xunruicms.com打开index.php$host=strtolower($_SERVER['HT...

  • 图片专用Image

    内容详情中(show.html) 模板中调用方法是:{loop $字段名 $i $c} 序号: {$i} 文件原始地址:{dr_get_file($c)} 文件的下载地址:{dr_down_file($c)} 图片缩略图:{dr_thumb($c, 200, 200)} 图片缩略图带水印:{dr_thumb($c, 200, 200, 1)}{/loop}注意:1、[...

  • 提交内容时报502/503/403错误

    502:请求量太多被拦截503状态通常是服务器方发出的拦截信息。产生原因:由于提交内容中存在特殊字符、特殊文字、敏感词等等的内容,提交后被服务器安全软件拦截并发出的错误状态。解决方案:1、排查服务器是

  • 已付流水查看

    本页数据是已经付款成功的流水记录

  • 移动端首页无法生成静态

    1、检测mobile目录是否可写2、检测是否开启移动端静态

  • 将用户表字段作为搜索条件

    需求环境:使用用户信息表的自定义字段作为模块内容的搜索条件,用户表字段不能与模块内容字段重复,当用户自定义字段是aaa,那么aaa字段就不能出现在内容模块里面被定义。例如用户表自定义字段:区域,如下图...