'图片', 'video' => '视频', 'file' => '文件' ]; } //获取文件列表 public static function getList($type = '', $page = 1, $per = 20) { $limit = ($page - 1) * $per; if($type != ''){ if(!in_array($type, array_keys(self::getTypes()))){ return []; } $items = self::where('type', $type) ->order('id desc'); }else{ $items = self::order('id desc'); } $items = $items->limit($limit, $per)->select()->toArray(); foreach($items as &$item){ $item['sizeStr'] = sizeToStr($item['size']); } return $items; } //获取分页列表 public static function getListPage($type = '', $per = 20) { if($type != ''){ if(!in_array($type, array_keys(self::getTypes()))){ return []; } return self::where('type', $type) ->order('id desc') ->paginate([ 'list_rows' => $per, 'query' => [ 'type' => $type ] ], false); }else{ return self::order('id desc') ->paginate([ 'list_rows' => $per ], false); } } //添加,$w_h图片尺寸大小,单位像素,只对type=img时有效 public static function add($file, $src, $type = 'img') { $realPath = app()->getRootPath() . ltrim($src,'/'); if(is_file($realPath) && $type == 'img'){ $img = Image::open($realPath); list($w,$h) = $img->size(); $w_h = $w . 'px * ' . $h . 'px'; }else{ $w_h = ''; } return self::create([ 'type' => $type, 'name' => $file->getOriginalName(), 'src' => $src, 'size' => $file->getSize(), 'suffix' => $file->getOriginalExtension(), 'mime_type' => $file->getOriginalMime(), 'create_time' => time(), 'w_h' => $w_h ]); } //获取所有记录 public static function getAll() { return self::select()->toArray(); } }