TP5的多文件上传为什么只能保存一个文件?

选取多个图片 ,但每次只能保存一格图片?请问这是为什么?

public function upload(Request $request)
    {
        $file = $request->file('image');
         $path = 'static/images/picture/';
            
            foreach ($file as $filev) {

                for ($i=0; $i < count($file); $i++) { 
                    $info = $file[$i][$filev] ->rule('uniqid')-> validate(['size'=>10240000,'ext'=>'bmp,gif,jgeg,png,jpg']) -> move($path,'');

                if($info){

                    $this->success('上传成功,文件名是:'.$info->getFilename());

                }else{
                    $this->error($filev->getError());
                    
                }

                }    
        }
    }

通过dump可以打印出上传文件数量,但就是保存的时候只能保存一张图片,加了for也不行,请问这是什么情况?

阅读 3.7k
3 个回答

在 $path = 'static/images/picture/';后面
var_dump($path);exit();
看下是不是一个数组

$this->success跳转 中断循环了,所以只有一张
`$arr = array();

    foreach ($files as $filev) {

        $info = $filev->rule('uniqid')->validate(['size' => 10240000, 'ext' => 'bmp,gif,jgeg,png,jpg'])->move($path, '');
        if ($info) {
            $arr[] = $info->getFilename();


        } else {
            $arr[] = $info->getError();

        }
    }
    if ($arr) {
        $this->success('上传成功,文件名是:' . json_encode($arr));
    }`

是不是因为文件名生成重复然后覆盖了?

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