Tp5 SplFileObject::__construct(/tmp/phpvuOdFd): failed to open stream: No such file or director解决方法

2023-08-08 15:07:59 浏览数 (2)

在使用一个后端框架接收3个图片后上传后,3个file文件域,报错:

解决办法: 分别接收文件,最后上传方法(从update往下)

代码语言:javascript复制
 public function update($id)
    {
      
        $data = input('post.');
        // 接收的数据为空
        $data["pet_src1"]="";
        $data["pet_src2"]="";
        $data["pet_src3"]="";
        if (isset($_FILES['pet_src1']) && $_FILES['pet_src1']['error'] == 0){
$pet_src1 = request()->file('pet_src1');
}
if (isset($_FILES['pet_src2']) && $_FILES['pet_src2']['error'] == 0){
$pet_src2 = request()->file('pet_src2');
}
if (isset($_FILES['pet_src3']) && $_FILES['pet_src3']['error'] == 0){
$pet_src3 = request()->file('pet_src3');
}

if(isset($pet_src1)){
$data['pet_src1'] = $this->upload_file($pet_src1);
}
if(isset($pet_src2)){
$data['pet_src2'] = $this->upload_file($pet_src2);
}
if(isset($pet_src3)){
$data['pet_src3'] = $this->upload_file($pet_src3);
}
       
        
         
        
        var_dump($data);
      
    }


   public function upload_file($file){
    // $file = request()->file('image');//这里就不要了
        if($file){
            //将传入的图片移动到框架应用根目录/public/uploads/ 目录下,ROOT_PATH是根目录下,DS是代表斜杠 / 
            $info = $file->move(ROOT_PATH . 'public' . DS .'uploads'. DS );
            if($info){
                  return $info->getSaveName();
            }else{
                // 上传失败获取错误信息
                return $file->getError();
            }
        }
        else{
             die(
        json_encode(
            array(
            'code' => 100,
            'data' => '',
            'msg' => '参数错误或没有图片信息'
        ),480)
);
        }
    }

打印成功解决

0 人点赞