摘要:主意【在使用check()方法的时候必须提前开启PHP的fileinfo 扩展,不然会爆如下错误】Call to undefined function think\finfo_open()检查是否post提交Request::isPost()获取上传文件的全部信息$files = Request::file('image');验证上传文件是否符合规则$rule&
主意【在使用check()方法的时候必须提前开启PHP的fileinfo 扩展,不然会爆如下错误】
Call to undefined function think\finfo_open()
检查是否post提交
Request::isPost()
获取上传文件的全部信息
$files = Request::file('image');验证上传文件是否符合规则
$rule = ['size'=>2097152,'ext'=>'jpg,jpeg,png,gif','type'=>'image/jpeg,image/png,image/gif']; $file->check($rule)
图片文件上传验证方法
public function index()
{
if(Request::isPost())
{
$files = Request::file('image');
//halt($files);
if (is_null($files))
{
$this->error('没有选择任何文件');
}
$rule = ['size'=>2097152,'ext'=>'jpg,jpeg,png,gif','type'=>'image/jpeg,image/png,image/gif'];
foreach($files as $file)
{
//dump($file);
//echo '<hr>';
//phpfileinfo不加载此扩展会报错,已踩坑!
if($file->check($rule))
{
$fileInfo = $file->move('./uploads');
echo $res = '<h3 style="color:green;">上传成功</h3>文件名是:'.$fileInfo->getFileName();
}else
{
return $res = '<h3 style="color:red;">上传失败</h3>'.$file->getError();
}
}
return;
}
return view();
//return \think\facade\App::version();
}多文件上传两个图片一个TXT文件输出结果
上传成功 文件名是:6cf10b34200822d960b2648ea7b43468.jpg上传成功 文件名是:b0f69af7398ef13ab9c278b0b4a0a632.jpg上传失败 上传文件MIME类型不允许!
批改老师:韦小宝批改时间:2018-11-02 10:19:09
老师总结:框架中的文件上传要比原生的上传简单太多了!写的很不错!很完整!继续努力学习吧!