//路由组 路由前缀的方式
Route::prefix(‘student’)->group(function () {
route::get(‘show’,”student\StudentController@show”);
route::post(‘add’,”student\StudentController@add”);
route::any(‘list’,”student\StudentController@listall”);
route::any(‘delete/{id}’,”student\StudentController@delete”);
route::any(‘update/{id}’,”student\StudentController@update”);
});
Route::prefix(‘book’)->group(function () {
route::get(‘index’,’Book\BookController@add’);
route::post(‘doadd’,’Book\BookController@doadd’);
});
“`
新建控制器 完成书籍相关操作
BookController 内容
“`
get();
return view(‘book.add’,[‘data’=>$data]);
}
/*
* @content 书籍添加执行操作
* @params $request
* */
public function doadd(Request $request)
{
//接收全部数据
$data = $request->all();
//去掉csrftoken
unset($data[‘_token’]);
//文件上传操作
$file = $request->file(‘image’);
//定义允许上传的文件类型
$allow = [‘jpg’,’png’,’gif’];
if ($request->hasFile(‘image’) && $file->isValid()) {
//获取文件的后缀名
$ext = $file->getClientOriginalExtension();
if(in_array($ext,$allow)){
//获取当前文件的位置
$path = $file->getRealPath();
//echo $path;die;
//生成新文件的文件名
$newfilename = date(“Ymd”).”/”.$request->book_name.mt_rand(100,999).’.’.$ext;
//$dirpath = “.\\uploads\\”.date(“ymd”);
//$file->move($dirpath,$newfilename);
// echo storage_path();die;
$data[‘image’] = $newfilename;
$re = Storage::disk(‘uploads’)->put($newfilename, file_get_contents($path));
if($re){
//完成入库操作
DB::table(‘book’)->insert($data);
}else{
exit(“上传失败,请重新上传”);
}
}else{
exit(“文件类型不合法,请重新检查”);
}
}else{
exit(“上传文件错误,请重新检查”);
}
}
}
以上操作可以完成文件上传和使用DB实现数据入库的操作
laravel 实现文件上传
最新推荐文章于 2023-11-22 16:25:29 发布