Laravel之文件上传

2 篇文章 0 订阅

    Laravel中使用Illuminate\Http\Request实例的file方法来访问上传的文件,该方法返回的对象是Symfony\Component\HttpFoundation\File\UploadFile类的一个实例,该类继承自PHP标准库中提供与文件交互方法的SplFileInfo类。

$file = $request->file('file1'); //获取UploadFile的实例

关于UploadFile的方法可以参考: 
http://api.symfony.com/2.7/Symfony/Component/HttpFoundation/File/UploadedFile.html 

 

 以下介绍几个基本的方法:

isValid() 
用于判断文件是否上传成功

getClientOriginalName()

getClientOriginalExtension() 
获取文件扩展名

move(string directory,string
name = null) 
将文件移动到指定目录

getClientSize() 
获取文件大小

实例:

//form表单
<form method="post" action="" enctype="multipart/form-data" class="form-horizontal">
    {{ csrf_field() }}
    <div class="form-group">
        <label class="col-md-2 control-label">用户名</label>
        <div class="col-md-6">
            <input class="form-control" type="text" placeholder="请输入用户名"
                  value="{{ old('name') ? old('name') : '' }}" id="name" name="name">
        </div>
    </div>
    <div class="form-group">
        <label class="col-md-2 control-label">文件名</label>
        <div class="col-md-6">
            <input class="form-control" type="file"  id="file1" name="file1">
        </div>
    </div>
    <div class="form-group">

        <div class="col-md-6 col-md-offset-2">
            <button type="submit" id="submit" class="btn btn-primary">提交</button>
        </div>
    </div>

</form> 

//后台代码
if ($request->hasFile('file1')) {
    $file = $request->file('file1');  //获取UploadFile实例
    if ( $file->isValid()) { //判断文件是否有效
        //$filename = $file->getClientOriginalName(); //文件原名称
        $extension = $file->getClientOriginalExtension(); //扩展名
        $filename = time() . "." . $extension;    //重命名
        $file->move('D:\phpStudy\WWW\laravel\public\upload', $filename); //移动至指定目录

          }
      }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值