下面由Laravel教程栏目给大家介绍laravel系统自带的文件上传功能 ,希望对需要的朋友有所帮助!
对于上传文件这个功能,说难吧,其实都是封装好的,真的不难。说不难吧,各种配置什么的有时候真的也会让人头疼。今天呢,就说一下关于laravel的上传功能的介绍。
直接调用命令从composer上下载了一份laravel的框架,命名为blog(这个随便)
进入文件blog->config->filesystems.php,其中有一个disk的配置。
简单的解释一下
前端代码
<p class="container"> <p class="panel-heading">上传文件</p> <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data"> {{ csrf_field() }} <label for="file">选择文件</label> <input id="file" type="file" class="form-control" name="source" required> <button type="submit" class="btn btn-primary">确定</button> </form> </p>
红色部分代码是必须加上的,如果不加上的话,下面的php语句中的代码验证就无法实现
后端代码
3
public function upload(Request $request){ if ($request->isMethod('POST')) { //判断是否是POST上传,应该不会有人用get吧,恩,不会的 //在源生的php代码中是使用$_FILE来查看上传文件的属性 //但是在laravel里面有更好的封装好的方法,就是下面这个 //显示的属性更多 $fileCharater = $request->file('source'); if ($fileCharater->isValid()) { //括号里面的是必须加的哦 //如果括号里面的不加上的话,下面的方法也无法调用的 //获取文件的扩展名 $ext = $fileCharater->getClientOriginalExtension(); //获取文件的绝对路径 $path = $fileCharater->getRealPath(); //定义文件名 $filename = date('Y-m-d-h-i-s').'.'.$ext; //存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置 Storage::disk('public')->put($filename, file_get_contents($path)); } } return view('upload'); }
小编是一边弄一边打,生怕自己写错了给你们笑话。最后成功的上传了文件进去。
以上是laravel系统自带的文件上传功能的详细内容。更多信息请关注PHP中文网其他相关文章!