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


  • 多行文本Textarea

    内容详情中(show.html) 模板中调用方法是:普通输出:{$字段名}截取10个字输出:{dr_strcut($字段名, 10, '...')}换行显示:{nl2br($字段名)}注意:1、[字段名]需要换成你定义的具体字段英文名称2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]

  • 审核时微信通知审核的管理人成员

    需求:通过微信消息提醒对应的权限组账号及时登录后台审核稿件实现方法:config/hooks.php\Phpcmf\Hooks::on('module_verify_after',fu...

  • 视频提取缩略图

    提取视频文件中的缩略图片方法首先安装ffmpeg1、BT面板的linux支持一键安装wgethttp://download.bt.cn/install/ext/ffmpeg.sh&&s...

  • 自定义字段控件输出代码

    字段控件是什么?例如下面这个字段是由系统变量myfield输出的上图红色部分是字段实际的输出代码,使用本函数可以输出这部分代码到html中,方便二次开发字段控件是根据字段的id号来生成html模板中的

  • 微信小程序Demo

    本demo提供微信小程序的初级接口实例,适用于微信小程序开发者、移动端原生APP开发者也可以参考接口的使用方法,开发者可按需来开发。

  • 自定义分页样式配置

    一、全局配置文件/config/page/pc/page.php 电脑端 前端分页样式/config/page/pc/member.php 电脑端 用户中心分页样式/config/page/mobil

  • 火车头如何采集列表中的缩略图

    以迅睿的产品动态为例子[标签:缩略图]"style="opacity:1;">[参数]"title="(*)">(*)(*)">(*)(*)注意上方红色位置的标签和"(*)"通配符的用法实际链接中的“

  • 如何通过url找控制器文件

    CMS动态地址如下:index.php?s=aa&c=bb&m=ccs参数表示app目录(s参数留空表示核心程序Fcms/Control中的控制器文件)c参数表示控制器文件名m参数表示控制器文件中的方

  • 网站目录禁止访问设置

    如果不是云服务器或者不是bt面板的虚拟主机环境,是无法通过转移程序目录来完成安全部署的,那么虚拟主机用户可以通过以下教程来设置目录禁止访问cacheconfigdayruitemplate这些目录是不

  • 创建模块表单

    模块表单能是什么?可以理解为他是一只特殊的网站表单,不同之处是,模块表单必须依赖于模块内容,它受内容的控制。模块表单能做什么?1、基于这篇文章的反馈手机2、基于这篇文章的报名、留言等创建模块表单方法1、...