联系官方销售客服

1835022288

028-61286886

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


  • 移动端开启目录模式时URL出现无限个子目录

    www.xxx.com/mobile/mobile/形如这种无限个目录出现在地址上,说明问题出在伪静态上面,解决方法:1、进入伪静态设置界面2、需要按上图的提示(仅共你参考代码),对子目录进行伪静态设

  • 后台顶部菜单定义

    后台每个页面的顶部导航菜单的定义方法在控制器中定义菜单变量格式:\Phpcmf\Service::V()->assign(['menu'=>\Phpcmf\Service::M(...

  • 后台登录之前

    挂钩点名称admin_login_before挂钩点参数// 挂钩点 登录验证之前\Phpcmf\Hooks::trigger('admin_login_before', $post);用法举例/co

  • 增加交易流水记录

    增加交易流水记录方法介绍\Phpcmf\Service::M('Pay')->add_paylog(['uid'=>"交易人uid号",'username...

  • 主程序运行之后 cms_init

    挂钩点名称cms_init用法举例/config/hooks.php// appname指插件目录,表示这个插件在调用,方便排查是哪个插件在调用这个钩子\Phpcmf\Hooks::app_on('a

  • 模块表单属性参数配置

    每个模块模块都可以定义一种个性配置,为模块表单属性增加各种配置选项例如,为demo模块的test表单,增加文本选项appid参数设置1、新建模板dayrui/App/Demo/Views/diy_te...

  • 自定义模块表单内容列表的字段

    模块表单内容管理界面,上图中红色部分是可以随意修改和添加的一、后台配置添加方法1、进入设置-内容设置-模块管理,选择模块表单 里面2、单修改按钮3、切换到后台字段选项点显示就行了序列:排序号,从小到大名称:列表的显示名称宽带:表格的宽,px为单位回调:需要掌握PHP技术,用于写非文本字段的格式化输出值二、改模板添加方法1、复制下面模板文件/dayrui/Core/Views/share_mform...

  • 防止垃圾信息提交/预防灌水

    网站只要你开启了提交功能都会出现垃圾消息的几率,例如前台发布内容、前台留言等等这些数据提交的功能。如何防范呢,总结几点1、开启图片验证码,比如表单图片验证码,内容发布时图片验证码这种效率不是很高,专业

  • 汇总一些api数据接口的回调开发

    查询指定用户的资料https://www.xunruicms.com/wenda/25400.html调用的指定的栏目数据https://www.xunruicms.com/wenda/25200.h...

  • 用户附件权限配置

    模式一: 按用户组划分权限权限只精确到某个组,如果不填写或者0,表示不限制空间模式二、按等级划分这样就更加精确一点,精确到某个等级划分