TP5上传图片

本文详细介绍了一个基于ThinkPHP框架的图片上传处理流程,包括HTML表单设计、PHP控制器中图片信息的获取与验证、图片上传至服务器的过程及异常处理。文章还对比了不同方式获取上传文件的方法,并提供了判断上传文件是否为空的技巧。

模板:

<form action="{:url('Temp/addTempDo')}" enctype="multipart/form-data" method="post">

<input class="form-control" type="file" name="temp_img">

</form>

 

控制器:

$file = Request::file('temp_img')   //获取上传的图片信息,生成file对象

$info = $file->validate([     //文件信息验证
  'size' => 500000000,      //验证文件大小
  'ext' => 'jpeg,jpg,png,gif'     //验证文件扩展名
])->move('uploads/')    //上传到服务器

if($info) {
  $params['temp_img'] = $info->getSaveName();
} else {
  this->error($file->getError(),'addTemp');
}

 

 

$params = Request::param();     //获取不到 type="file" 这种类型的值

Request::file()                  //这种方法才可获取 type="file" 这种类型的值

Request::file()          //返回数组

Request::file('temp_img')   //返回对象

 

判断上传file是否为空:

  用Request::file(),返回一维数组,数组里边元素的名称是input的name,值是对象,有多少个file,返回的数组里边就有多少个元素

  不能用Request::file('temp_img'),用Request::file('temp_img')会抛出错误:没有文件被上传

判断上传file是否为空,也可以用$_FILES['temp_img']['tmp_name'],['temp_img']为input type="file"的 name

 

Request::file()    //返回数组

Request::file(‘temp_img’)    //返回对象 (也就是Request::file()里边的元素)

 

 

halt($file):

halt($info)

 

转载于:https://www.cnblogs.com/qq254980080/p/9999686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值