'; for ($i = 10; $i <= 100; $i += 10) { $selected = $page_size == $i ? 'selected' : ''; $str .= ''; } $str .= ''; if ($total > 0) { $str .= '总共 ' . $total . ' 条记录'; } return $str; } /** * 空数据提示 * @param int $num * @return string */ function empty_list($num = 10) { $empty = "暂无数据"; return $empty; } /** * 权限设置选中状态 * @param $cate 栏目 * @param int $pid 父ID * @param $rules 规则 * @return array */ function auth($cate, $pid, $rules) { $arr = array(); $rulesArr = explode(',', $rules); foreach ($cate as $v) { if ($v['pid'] == $pid) { if (in_array($v['id'], $rulesArr)) { $v['checked'] = true; } $v['open'] = true; $arr[] = $v; $arr = array_merge($arr, auth($cate, $v['id'], $rules)); } } return $arr; } /** * PHP格式化字节大小 * @param number $size 字节数 * @param string $delimiter 数字和单位分隔符 * @return string 格式化后的带单位的大小 */ function format_bytes($size, $delimiter = '') { $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024; return round($size, 2) . $delimiter . $units[$i]; } /** * 获取目录里的文件,不包括下级文件夹 * @param string $dir 路径 * @return array */ function get_dir($dir) { $file = @ scandir($dir); foreach ($file as $key) { if ($key != ".." && $key != ".") { $files[] = $key; } } return $files; } /** * 获取文件夹中的文件,含目录 * @param $path * @param string $exts * @param array $list * @return array */ function dir_list($path, $exts = '', $list = array()) { $path = dir_path($path); $files = glob($path . '*'); foreach ($files as $v) { $fileext = fileext($v); if (!$exts || preg_match("/\.($exts)/i", $v)) { $list[] = $v; if (is_dir($v)) { $list = dir_list($v, $exts, $list); } } } return $list; } /** * 补齐目录后的/ * @param $path 目录 * @return string */ function dir_path($path) { $path = str_replace('\\', '/', $path); if (substr($path, -1) != '/') $path = $path . '/'; return $path; } /** * 查找文件后缀 * @param $filename 文件名称 * @return string 后缀名称(如:html) */ function fileext($filename) { return strtolower(trim(substr(strrchr($filename, '.'), 1, 10))); } /** * 删除目录及文件 * @param $dir * @return bool */ function dir_delete($dir) { $dir = dir_path($dir); if (!is_dir($dir)) return FALSE; $list = glob($dir . '*'); foreach ($list as $v) { is_dir($v) ? dir_delete($v) : @unlink($v); } return @rmdir($dir); } /** * 生成不同的编辑器(目前只支持ckeditor) * @param string $name 字段名称 * @param string $conetnt 内容 * @param string $editor 编辑器 * @param string $height 高度 * @param string $width 宽度 * @return string */ function make_editor($name, $conetnt = '', $editor = '', $height = '400px', $width = '') { $result = ''; return $result; } /*** * 日期筛选格式化 * @param $dateran * @return array */ function get_dateran($dateran) { if ($dateran) { $dateran = explode(" 至 ", $dateran); } if (is_array($dateran) && count($dateran) == 2) { $dateran[0] = strtotime($dateran[0]); $dateran[1] = strtotime($dateran[1]) + 24 * 60 * 60 - 1; } return $dateran; } /** * 根据数组中某个字段重新分组 * @param {dataArr:需要分组的数据;keyStr:分组依据} * @return: array */ function array_group(array $dataArr, string $keyStr): array { $newArr = []; foreach ($dataArr as $k => $val) { $newArr[$val[$keyStr]][] = $val; } return $newArr; } /*** * 格式化面包导航(用户后台面包导航) * @param $data * @return array */ function format_bread_crumb($data) { $result = array(); if (!empty($data)) { $data = array_reverse($data); if (count($data) == 4) { //非常规 添加或修改 $result['right'] = $data[1]; $result['left'][0] = $data[1]['title']; //查看是添加还是修改 $result['left'][1] = $data[2]['title'] . '-' . str_replace('操作-', '', $data[3]['title']); } else if (count($data) == 3) { //常规 添加或修改 $result['right'] = $data[1]; $result['left'][0] = $data[1]['title']; //查看是添加还是修改 $result['left'][1] = str_replace('操作-', '', $data[2]['title']); } else if (count($data) == 2) { //常规 列表 $result['right'] = $data[1]; $result['left'][0] = $data[1]['title']; $result['left'][1] = '列表'; } else { //单独定义 $result['right'] = $data[0]; $result['left'][0] = $data[0]['title']; $result['left'][1] = ''; } } // 内容管理重构数组 $controller = \think\facade\Request::controller(); $module = \app\common\model\Module::where('model_name', $controller)->find(); if ($module && $module->table_type == 1) { // 判断当前方法是添加、修改、列表 $action = \think\facade\Request::action(); if ($action == 'add') { $action = '添加'; } else if ($action == 'edit') { $action = '修改'; } else { $action = '列表'; } // 内容管理 $cateId = \think\facade\Request::param('cate_id'); if (empty($cateId)) { $model = '\app\common\model\\' . $module->model_name; if ($module['pk'] && \think\facade\Request::param('id')) { $cateId = $model::where($module['pk'], \think\facade\Request::param('id'))->value('cate_id'); } } // 调用当前栏目名称 if ($cateId) { $cateName = \app\common\model\Cate::where('id', $cateId)->value('cate_name'); if ($module->is_single) { $url = 'edit?id=' . \think\facade\Request::param('id'); } else { $url = 'index?cate_id=' . $cateId; } $result['right'] = [ 'url' => $url, 'title' => $cateName, 'icon' => '', ]; $result['left'][0] = $cateName; $result['left'][1] = $action; } } return $result; }