mirror of
https://gitee.com/ulthon/ul-file-share.git
synced 2026-07-07 21:42:47 +08:00
完成文件上传管理
This commit is contained in:
@@ -7,10 +7,18 @@ use League\Flysystem\Util\MimeType;
|
||||
use think\facade\Filesystem;
|
||||
use think\facade\Config;
|
||||
use think\File;
|
||||
use think\file\UploadedFile;
|
||||
|
||||
class UploadFiles
|
||||
{
|
||||
|
||||
protected static $disk = '';
|
||||
|
||||
public static function setDisks($disk)
|
||||
{
|
||||
self::$disk = $disk;
|
||||
}
|
||||
|
||||
public static function add()
|
||||
{
|
||||
return new AppUploadFiles();
|
||||
@@ -46,7 +54,7 @@ class UploadFiles
|
||||
|
||||
$model_file->save();
|
||||
|
||||
return Filesystem::delete($model_file->getData('save_name'));
|
||||
return Filesystem::disk(self::$disk)->delete($model_file->getData('save_name'));
|
||||
}
|
||||
|
||||
public static function save(Request $request)
|
||||
@@ -59,6 +67,9 @@ class UploadFiles
|
||||
|
||||
$file = request()->file('file');
|
||||
|
||||
if (empty($file)) {
|
||||
return json_message('上传失败');
|
||||
}
|
||||
$file_extension = $file->extension();
|
||||
|
||||
if ($file_extension == 'php') {
|
||||
@@ -67,15 +78,13 @@ class UploadFiles
|
||||
|
||||
$file_path = $file->getRealPath();
|
||||
|
||||
$file_content = file_get_contents($file_path);
|
||||
// $file_content = file_get_contents($file_path);
|
||||
|
||||
// if (strpos($file_content, '<?php') !== false) {
|
||||
// return json_message('上传文件异常');
|
||||
// }
|
||||
|
||||
if (strpos($file_content, '<?php') !== false) {
|
||||
return json_message('上传文件异常');
|
||||
}
|
||||
|
||||
if (empty($file)) {
|
||||
return json_message('上传失败');
|
||||
}
|
||||
|
||||
$dir_name = $request->param('dir', $type);
|
||||
try {
|
||||
@@ -92,7 +101,13 @@ class UploadFiles
|
||||
$dir_name = $type;
|
||||
}
|
||||
$model_file = UploadFiles::add();
|
||||
$model_file->file_name = $file->getFilename();
|
||||
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();
|
||||
@@ -101,7 +116,7 @@ class UploadFiles
|
||||
$model_file->create_time = time();
|
||||
$model_file->type = $type;
|
||||
|
||||
$model_file->save_name = Filesystem::putFile('upload/' . $dir_name, $file, 'uniqid');
|
||||
$model_file->save_name = Filesystem::disk(self::$disk)->putFile('upload/' . $dir_name, $file, 'uniqid');
|
||||
$model_file->save();
|
||||
return $model_file;
|
||||
}
|
||||
|
||||
@@ -11,59 +11,53 @@ use think\facade\Session;
|
||||
|
||||
class Login extends Common
|
||||
{
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
return View::fetch();
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
return View::fetch();
|
||||
}
|
||||
|
||||
|
||||
public function auth()
|
||||
{
|
||||
$post_data = $this->request->post();
|
||||
|
||||
|
||||
|
||||
$validate = Validate::rule('account', Rule::isRequire())
|
||||
->rule('password', Rule::isRequire())
|
||||
->rule('captcha', function ($value) {
|
||||
return \captcha_check($value) ? true : '验证码错误';
|
||||
});
|
||||
|
||||
if (!$validate->check($post_data)) {
|
||||
return json_message($validate->getError());
|
||||
}
|
||||
|
||||
$model_admin = Admin::where('account', $post_data['account'])->find();
|
||||
|
||||
public function auth()
|
||||
{
|
||||
$post_data = $this->request->post();
|
||||
|
||||
|
||||
|
||||
$validate = Validate::rule('account',Rule::isRequire())
|
||||
->rule('password',Rule::isRequire())
|
||||
->rule('captcha',function($value){
|
||||
return \captcha_check($value)?true:'验证码错误';
|
||||
});
|
||||
|
||||
if(!$validate->check($post_data)){
|
||||
Session::set('admin_id',1);
|
||||
return json_message();
|
||||
return json_message($validate->getError());
|
||||
}
|
||||
|
||||
$model_admin = Admin::where('account',$post_data['account'])->find();
|
||||
|
||||
if(empty($model_admin)){
|
||||
Session::set('admin_id',1);
|
||||
return json_message();
|
||||
return json_message('帐号不存在');
|
||||
}
|
||||
|
||||
if($model_admin->getData('password') !== md5($post_data['password'].$model_admin->getData('salt'))){
|
||||
Session::set('admin_id',1);
|
||||
return json_message();
|
||||
return json_message('密码错误');
|
||||
}
|
||||
|
||||
Session::set('admin_id',$model_admin->id);
|
||||
|
||||
return json_message();
|
||||
if (empty($model_admin)) {
|
||||
return json_message('帐号不存在');
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
Session::clear();
|
||||
|
||||
$this->success('已经安全退出','Login/Index');
|
||||
if ($model_admin->getData('password') !== md5($post_data['password'] . $model_admin->getData('salt'))) {
|
||||
return json_message('密码错误');
|
||||
}
|
||||
|
||||
Session::set('admin_id', $model_admin->id);
|
||||
|
||||
return json_message();
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
Session::clear();
|
||||
|
||||
$this->success('已经安全退出', 'Login/Index');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ function get_system_config($name = '', $default = '')
|
||||
return $list;
|
||||
}
|
||||
|
||||
if (isset($list[$name])) {
|
||||
if (!empty($list[$name])) {
|
||||
return $list[$name];
|
||||
}
|
||||
|
||||
|
||||
96
app/index/controller/File.php
Normal file
96
app/index/controller/File.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\index\controller;
|
||||
|
||||
use app\UploadFiles;
|
||||
use think\Request;
|
||||
|
||||
class File extends Common
|
||||
{
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示创建资源表单页.
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存新建的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function save(Request $request)
|
||||
{
|
||||
//
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function webSave(Request $request)
|
||||
{
|
||||
# code...
|
||||
|
||||
return UploadFiles::save($request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示指定的资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function read($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示编辑资源表单页.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function edit($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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace app\middleware;
|
||||
|
||||
use app\UploadFiles;
|
||||
use think\facade\Db;
|
||||
use think\facade\Config;
|
||||
use think\helper\Arr;
|
||||
@@ -15,6 +16,8 @@ class ConfigInit
|
||||
$filesystem_config = Config::get('filesystem');
|
||||
Arr::set($filesystem_config,'default','public');
|
||||
|
||||
UploadFiles::setDisks('public');
|
||||
|
||||
Config::set($filesystem_config, 'filesystem');
|
||||
|
||||
// 社微信开放平台
|
||||
|
||||
Reference in New Issue
Block a user