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 ;
    }


  • 内容模块入库表结构

    内容模块表结构如下,demo模块为例,dr_表示数据表前缀1表示站点id号demo表示模块目录其中后缀_0的表属于附表,会按10w数据量来分表递增二次开发手动入库至少要入库这几个表1、【独立模块忽略】

  • 自定义栏目seo函数

    针对seo设置的自带标签不满足时,或者自带标签读取的值不满足需求时,就可以使用自定义函数来解决了。自定义函数写法(开发):{my_func_category_seo($data)} my_fun

  • 文本转化为拼音

    \Phpcmf\Service::L('pinyin')->result("文本内容")模板写法: {php echo \Phpcmf\Service::L('pinyin')->result("文本

  • 创建栏目

    为模块创建栏目的方法一、共享栏目共享栏目是针对共享模块来创建的1、进入共享栏目管理界面2、创建栏目,可选择栏目类型2.1 单网页类型例如关于我们、公司介绍,这种栏目显示单一页面的栏目对应的模板文件是p...

  • 用户设定值Score

    内容详情中(show.html) 模板中调用方法是:{if $字段名_sku}按用户组的值:{php $vsku = dr_string2array($字段名_sku);}{cache name=member_group return=mc}用户组【{$mc.name}】: {$vsku[$mc.id]}{/cache}{else}全局值:{$字段名}{/if}注意:1、[字段名]需要换成你定义的...

  • 自定义数据接口-php执行文件代码

    php执行代码

  • 开启HTTPS站点

    1、首先需要申请https的ssl证书,然后将证书安装到服务器上这个过程一般ssl证书服务商会给你提供方法2、安装好ssl证书后,要确保域名打得开https://www.xxx.com打不开的话就是(1)方法没设置好3、进入cms后台开启https功能4、保存配置并更新缓存生效5、将全站定向为https,以宝塔面板为例开启强制https,这样你访问http时就会自动定向到https

  • api图片验证码调用

    在api提交数据时调用图片验证码图片网站域名/index.php?s=api&c=api&m=captcha&width=图片宽度&height=图片高度这个地址用于生...

  • 自定义类文件类库

    基于App目录下的插件或模块如何创建自己的类库1、新建文件:dayrui/App/Test/Libraries/My.php2、新写方法体:

  • 手机域名模式设置方法