• 技术文章 >php框架 >Laravel

    laravel系统自带的文件上传功能

    藏色散人藏色散人2020-10-10 15:06:02转载120

    下面由Laravel教程栏目给大家介绍laravel系统自带的文件上传功能 ,希望对需要的朋友有所帮助!

    对于上传文件这个功能,说难吧,其实都是封装好的,真的不难。说不难吧,各种配置什么的有时候真的也会让人头疼。今天呢,就说一下关于laravel的上传功能的介绍。

    直接调用命令从composer上下载了一份laravel的框架,命名为blog(这个随便)

    进入文件blog->config->filesystems.php,其中有一个disk的配置。


    简单的解释一下

    配置完之后呢就到了代码块了。代码块就相当简单了。

    1. 创建路由,路由自己定义就好了(这个就不用解释了吧)
    2. 编写和路由对应的方法,在方法里面开始编写代码。

    前端代码

    <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中文网其它相关文章!

    本文转载于:csdn,如有侵犯,请联系a@php.cn删除
    专题推荐:laravel
    上一篇:分享Laravel模型使用的2个小技巧 下一篇:说说Laravel模型关联关系最单纯的“一对一”!
    第13期线上培训班

    相关文章推荐

    • 关于laravel使用es的正确姿势• Laravel 8 队列系统的新功能和变化• WSL2配置laravel环境的方法• laravel new 命令为什么没有效果

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网