TP5 图片上传
HTML代码如下:
<input name="photo" type="file" οnchange="showPreview(this)"/>
TP5控制器代码如下:
$file = request()->file("photo");
if($file){
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
// 成功上传后 获取上传信息
// 输出 jpg
echo $info->getExtension();
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
echo $info->getSaveName();
// 输出 42a79759f284b767dfcb2a0197904287.jpg
echo $info->getFilename();
}else{
// 上传失败获取错误信息
echo $file->getError();
}
}
}
如果大家出现了上传图片之后图片没有被存下来,或者出现
Call to a member function move() on null
这种情况的时候,其实是$file变量是空的,其实是表单中不记得写
enctype="multipart/form-data"
这个属性了,这是一个挺愚蠢的事情,但是我一个晚上居然犯了两次,被自己蠢哭了
如果想要调用上传照片时候的限制的话这样
$info = $file->validate(['size'=>5242880,'ext'=>'jpg,png,gif'])->move(ROOT_PATH.'public'.DS.'uploads');其中参数size代表上传的照片最大大小,ext代表支持上传的类型
还有第三个参数上开发手册去查吧