thinkphp5使用multiple属性多文件上传为什么总是会报错?

为什么thinkphp5使用multiple属性实现多文件上传为什么总是会报错?

报错信息:
图片描述

HTML代码:

<input name="file" type="file" multiple/> 
<input type="submit" value="上传" class="btn btn-primary">

php代码:

if($files = request()->file('file'))          
            foreach ($files as $file) 
            {         
            $info = $file->move(ROOT_PATH . 'public' . DS .'static','');
            if($info){
                $path_parts = pathinfo(ROOT_PATH . 'public' . DS . 'static' .'\\'. $info->getFilename());
                //获取文件类型,名称及大小
                $type=$path_parts['extension'];
                $name=$path_parts['filename'];
                $size=(filesize(ROOT_PATH . 'public' . DS . 'static' .'\\'. $info->getFilename())>>10).'KB';
                $data=['name'=>$name,'type'=>$type,'size'=>$size];
                Db::table('doc')->insert($data);

                $this->success("上传成功!");
            }else{
                //上传失败获取错误信息
                $this->error($file->getError());    
            }
            } 

我是看着thinkphp5的手册用的,为什么move函数那块总是报错?

阅读 3.5k
2 个回答

对于一个input使用多文件上传的,除了要加上multiple属性,name属性要改成name="file[]"
而后台的php代码不变

新手上路,请多包涵

tp5的多文件不是指这个 <input name="file" type="file" multiple/> .
是指
<input type="file" name="file[]" />

<input type="file" name="file[]" />

<input type="file" name="file[]" />

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题