一、检查模板文件add
1.必须得有ectype属性(enctype=’multipart/form-data’)
2.input的type类型必须是type=file;
二、首先判断是否有文件上传如:
if($_FILES['goods_big_logo']['error']=='0'){
//if判断表示有文件上传并且没有上传错误,也可以用[‘size’]>0判断
//定义配置数组,new实例化上传类upload时需要的参数 $cfg=array( 'rootPath'=>'./Public/Uploads/', );
//实例化文件上传类
$upload=new \Think\Upload($cfg);
//调用上传的方法
//uploadOne是TP里上传单个文件的方法
$info=$upload->uploadOne($FILES['goods_big_logo']);
//判断上传结果如果为true
if($info){
//拼接上传图片的路径$post['goods_big_logo']=$cfg['rootPath'].$info['savepath'].$info['savename']; //制作缩略图
//制作缩略图五步走:打开,设置宽高,拼接路径,保存图片路径save方法
$image = new \Think\Image();//实例化缩略图类 $image->open($post['goods_big_logo']);//打开图片 $image->thumb(100,100);//等比缩放原则 $thumbPath = $cfg['rootPath'].$info['savepath'].'thumb'.$info['savename']; $image->save($thumbPath); //补全字段un $post['goods_small_logo'] = $thumbPath; //dump($post);die;}else{ $errorInfo=$upload->getError(); echo "<script>alert('$errorInfo');history.back(-1);</script>";exit;}
//在视图中的缩略图新建img标签吧缩略图路径放进去
//注意通常这个路径是相对路径,数据库里的相对路径在视图中就变成了相对于视图锁在文件夹的路径了,所以要截取路径中的’.‘使他变成绝对路径 用管道符|ltrim=###,’.’或者|ltrim=’.’ 如下:
问:能否将上述额度### 给去掉?
答:在当前的这里是可以去掉的,原因如下:如果一个方法只有一个参数并且参数是变量自
身的话,则可以去除###省略不写,如果一个方法有多个参数并且第一个是变量自身则也可
以不写###,除此之外其他情况必须得写###。
因此上述的代码还可以写成: