摘要:主意【在使用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
老师总结:框架中的文件上传要比原生的上传简单太多了!写的很不错!很完整!继续努力学习吧!