diff --git a/app/UploadFiles.php b/app/UploadFiles.php index b9b1d34..004f65d 100644 --- a/app/UploadFiles.php +++ b/app/UploadFiles.php @@ -12,126 +12,128 @@ use think\file\UploadedFile; class UploadFiles { - protected static $disk = ''; + protected static $disk = ''; - public static function setDisks($disk) - { - self::$disk = $disk; - } - - public static function add() - { - return new AppUploadFiles(); - } - - public static function create($data, $allowFiled = [], $replace = false) - { - return AppUploadFiles::create($data, $allowFiled, $replace); - } - - public static function use($save_name) - { - return AppUploadFiles::where('save_name', $save_name)->update([ - 'used_time' => time(), - 'status' => 1 - ]); - } - - public static function delete($save_name) - { - return AppUploadFiles::where('save_name', $save_name)->update([ - 'delete_time' => time(), - 'status' => 2 - ]); - } - - public static function clear($id) - { - $model_file = AppUploadFiles::withTrashed()->find($id); - - $model_file->clear_time = time(); - $model_file->status = 3; - - $model_file->save(); - - return Filesystem::disk(self::$disk)->delete($model_file->getData('save_name')); - } - - public static function save(Request $request) - { - - $type = $request->param('type'); - if (empty($type)) { - return json_message('缺少类型参数'); + public static function setDisks($disk) + { + self::$disk = $disk; } - $file = request()->file('file'); - - if (empty($file)) { - return json_message('上传失败'); - } - $file_extension = $file->extension(); - - if ($file_extension == 'php') { - return json_message('上传文件异常'); + public static function add() + { + return new AppUploadFiles(); } - $file_path = $file->getRealPath(); - - // $file_content = file_get_contents($file_path); - - // if (strpos($file_content, 'param('dir', $type); - try { - $model_file = self::saveFile($file, $type, $dir_name); - return json_message($model_file->append(['src'])->toArray()); - } catch (\Throwable $th) { - return json_message($th->getMessage()); - } - } - - public static function saveFile(File $file, $type, $dir_name = null) - { - if (is_null($dir_name)) { - $dir_name = $type; - } - $model_file = UploadFiles::add(); - if ($file instanceof UploadedFile) { - - $model_file->file_name = $file->getOriginalName(); - } else { - $model_file->file_name = $file->getFilename(); + public static function create($data, $allowFiled = [], $replace = false) + { + return AppUploadFiles::create($data, $allowFiled, $replace); } - $model_file->mime_type = $file->getMime(); - $model_file->ext_name = $file->extension(); - $model_file->file_size = $file->getSize(); - $model_file->file_md5 = $file->md5(); - $model_file->file_sha1 = $file->sha1(); - $model_file->create_time = time(); - $model_file->type = $type; - $model_file->disk = self::$disk; - $model_file->save_name = Filesystem::disk(self::$disk)->putFile('upload/' . $dir_name, $file, 'uniqid'); - $model_file->save(); - return $model_file; - } + public static function use($save_name) + { + return AppUploadFiles::where('save_name', $save_name)->update([ + 'used_time' => time(), + 'status' => 1 + ]); + } - public static function saveUrlFile($url, $type) - { - $file_data = geturl($url); + public static function delete($save_name) + { + return AppUploadFiles::where('save_name', $save_name)->update([ + 'delete_time' => time(), + 'status' => 2 + ]); + } - $mime_type = MimeType::detectByContent($file_data); - $ext_name = array_search($mime_type, MimeType::getExtensionToMimeTypeMap()); - $temp_file = tempnam(app()->getRuntimePath(), 'url_save_') . '.' . $ext_name; - file_put_contents($temp_file, $file_data); - $file = new File($temp_file); - $model_file = self::saveFile($file, $type); - unlink($temp_file); - return $model_file; - } + public static function clear($id) + { + $model_file = AppUploadFiles::withTrashed()->find($id); + + $model_file->clear_time = time(); + $model_file->status = 3; + + $model_file->save(); + + return Filesystem::disk(self::$disk)->delete($model_file->getData('save_name')); + } + + public static function save(Request $request, $type = null) + { + + if (is_null($type)) { + $type = $request->param('type'); + } + if (empty($type)) { + return json_message('缺少类型参数'); + } + + $file = request()->file('file'); + + if (empty($file)) { + return json_message('上传失败'); + } + $file_extension = $file->extension(); + + if ($file_extension == 'php') { + return json_message('上传文件异常'); + } + + $file_path = $file->getRealPath(); + + // $file_content = file_get_contents($file_path); + + // if (strpos($file_content, 'param('dir', $type); + try { + $model_file = self::saveFile($file, $type, $dir_name); + return json_message($model_file->append(['src'])->toArray()); + } catch (\Throwable $th) { + return json_message($th->getMessage()); + } + } + + public static function saveFile(File $file, $type, $dir_name = null) + { + if (is_null($dir_name)) { + $dir_name = $type; + } + $model_file = UploadFiles::add(); + if ($file instanceof UploadedFile) { + + $model_file->file_name = $file->getOriginalName(); + } else { + $model_file->file_name = $file->getFilename(); + } + + $model_file->mime_type = $file->getMime(); + $model_file->ext_name = $file->extension(); + $model_file->file_size = $file->getSize(); + $model_file->file_md5 = $file->md5(); + $model_file->file_sha1 = $file->sha1(); + $model_file->create_time = time(); + $model_file->type = $type; + $model_file->disk = self::$disk; + $model_file->save_name = Filesystem::disk(self::$disk)->putFile('upload/' . $dir_name, $file, 'uniqid'); + $model_file->save(); + return $model_file; + } + + public static function saveUrlFile($url, $type) + { + $file_data = geturl($url); + + $mime_type = MimeType::detectByContent($file_data); + $ext_name = array_search($mime_type, MimeType::getExtensionToMimeTypeMap()); + $temp_file = tempnam(app()->getRuntimePath(), 'url_save_') . '.' . $ext_name; + file_put_contents($temp_file, $file_data); + $file = new File($temp_file); + $model_file = self::saveFile($file, $type); + unlink($temp_file); + return $model_file; + } } diff --git a/app/index/controller/File.php b/app/index/controller/File.php index 38caff3..c2b6e78 100644 --- a/app/index/controller/File.php +++ b/app/index/controller/File.php @@ -9,90 +9,90 @@ use think\Request; class File extends Common { - /** - * 显示资源列表 - * - * @return \think\Response - */ - public function index() - { - // - } + /** + * 显示资源列表 + * + * @return \think\Response + */ + public function index() + { + // + } - /** - * 显示创建资源表单页. - * - * @return \think\Response - */ - public function create() - { - // - } + /** + * 显示创建资源表单页. + * + * @return \think\Response + */ + public function create() + { + // + } - /** - * 保存新建的资源 - * - * @param \think\Request $request - * @return \think\Response - */ - public function save(Request $request) - { - // + /** + * 保存新建的资源 + * + * @param \think\Request $request + * @return \think\Response + */ + public function save(Request $request) + { + // - - } - public function webSave(Request $request) - { - # code... + } - UploadFiles::setDisks('safe'); + public function webSave(Request $request) + { + # code... - return UploadFiles::save($request); - } + UploadFiles::setDisks('safe'); - /** - * 显示指定的资源 - * - * @param int $id - * @return \think\Response - */ - public function read($id) - { - // - } + return UploadFiles::save($request, 'fileshare'); + } - /** - * 显示编辑资源表单页. - * - * @param int $id - * @return \think\Response - */ - public function edit($id) - { - // - } + /** + * 显示指定的资源 + * + * @param int $id + * @return \think\Response + */ + public function read($id) + { + // + } - /** - * 保存更新的资源 - * - * @param \think\Request $request - * @param int $id - * @return \think\Response - */ - public function update(Request $request, $id) - { - // - } + /** + * 显示编辑资源表单页. + * + * @param int $id + * @return \think\Response + */ + public function edit($id) + { + // + } - /** - * 删除指定资源 - * - * @param int $id - * @return \think\Response - */ - public function delete($id) - { - // - } + /** + * 保存更新的资源 + * + * @param \think\Request $request + * @param int $id + * @return \think\Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * 删除指定资源 + * + * @param int $id + * @return \think\Response + */ + public function delete($id) + { + // + } } diff --git a/view/index/index/index.html b/view/index/index/index.html index ffcc942..387ac31 100644 --- a/view/index/index/index.html +++ b/view/index/index/index.html @@ -35,9 +35,9 @@ {include file='common/_header'/}
{notempty name='system_tips'} -
-
{$system_tips}
-
+
+
{$system_tips}
+
{/notempty}
@@ -331,7 +331,6 @@ $('.file-list .file-item').each(function (index, elem) { var fileData = $(elem).data('success') - fileList.push(fileData) })