Files
sentcms/app/controller/Upload.php
2020-04-03 11:36:07 +08:00

81 lines
2.9 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\controller;
use think\facade\Session;
use think\facade\Filesystem;
class Upload extends Base {
public $data = ['data' => [], 'code' => 0, 'msg' => ''];
protected function initialize() {
}
public function upload(){
$upload_type = $this->request->get('filename', 'images', 'trim');
$config = $this->$upload_type();
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('file');
try {
validate(['file'=>'filesize:10240|fileExt:jpg|image:200,200,jpg'])
->check([$file]);
$data['status'] = 1;
$data['info'] = $this->save($file, $upload_type);
} catch (think\exception\ValidateException $e) {
$data['status'] = 0;
$data['info'] = $e->getMessage();
}
return json($data);
}
protected function images(){
return [];
}
public function editor(){
$fileType = $this->request->get('fileType', 'image', 'trim');
$file = request()->file('imgFile');
$data['data']['url'] = '/uploads/' . Filesystem::disk('public')->putFile($fileType, $file, 'md5');
$data['code'] = "000";
return json($data);
}
public function filemanage(){
return [];
}
public function ueditor(){
$data = new \com\Ueditor(Session::get('userInfo.uid'));
echo $data->output();
}
protected function save($file, $upload_type){
$data = [];
$savename = Filesystem::disk('public')->putFile($upload_type, $file, 'md5');
$data['create_time'] = $file->getATime(); //最后访问时间
$data['savename'] = $file->getBasename(); //获取无路径的basename
$data['c_time'] = $file->getCTime(); //获取inode修改时间
$data['ext'] = $file->getExtension(); //文件扩展名
$data['name'] = $file->getFilename(); //获取文件名
$data['m_time'] = $file->getMTime(); //获取最后修改时间
$data['owner'] = $file->getOwner(); //文件拥有者
$data['savepath'] = $file->getPath(); //不带文件名的文件路径
$data['url'] = $data['path'] = '/uploads/' . $savename; //全路径
$data['size'] = $file->getSize(); //文件大小,单位字节
$data['is_file'] = $file->isFile(); //是否是文件
$data['is_execut'] = $file->isExecutable(); //是否可执行
$data['is_readable'] = $file->isReadable(); //是否可读
$data['is_writable'] = $file->isWritable(); //是否可写
$data['md5'] = md5_file($file->getPathname());
$data['sha1'] = sha1_file($file->getPathname());
return $data;
}
}