Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Laravel图像干预调整图像上载大小时出错_Php_Laravel_Php Gd - Fatal编程技术网

Php 使用Laravel图像干预调整图像上载大小时出错

Php 使用Laravel图像干预调整图像上载大小时出错,php,laravel,php-gd,Php,Laravel,Php Gd,我正在使用Laravel图像干预调整表单上图像上载字段的大小 这是我上传时收到的错误-我正在使用代客泊车 Command (Extension) is not available for driver (Gd). 如果没有Image::make use Image; ... $authorID = Auth::user()->id; $file = request()->file('ts_image'); if($fil

我正在使用Laravel图像干预调整表单上图像上载字段的大小

这是我上传时收到的错误-我正在使用代客泊车

Command (Extension) is not available for driver (Gd).
如果没有
Image::make

      use Image;
      ...

      $authorID = Auth::user()->id;
      $file = request()->file('ts_image');
      if($file) {
      $file = Image::make($file)->resize(300, 300);

      $fileExtension = $file->extension();
      $unique_name = md5($file. time()).'.'.$fileExtension;
      //
      $fileImg = $file->storeAs('/public/images/' . $authorID, $unique_name);
有什么想法吗?谢谢

编辑:

当dd($file)时,这是返回的内容:

Image {#667 ▼
  #driver: Driver {#668 ▼
    +decoder: Decoder {#669 ▼
      -data: null
    }
    +encoder: Encoder {#670 ▼
      +result: null
      +image: null
      +format: null
      +quality: null
    }
  }
  #core: gd resource @16 ▼
    size: "300x300"
    trueColor: true
  }
  #backups: []
  +encoded: ""
  +mime: "image/jpeg"
  +dirname: "/private/var/tmp"
  +basename: "phpBPRGuD"
  +extension: null
  +filename: "phpBPRGuD"
}

我使用干预将图像保存到数据库中。我和laravel一起工作,我必须保存不同大小的图像,大、中、小。这就是我的工作原理

      if ($request->hasFile('image')) {
        $image_tmp = Input::file('image');
        if ($image_tmp->isValid()) {

            $extension = $image_tmp->getClientOriginalExtension();
            $filename = rand(111, 99999) . '.' . $extension;
            $large_image_path = 'images/backend_images/products/large/' . $filename;
            $medium_image_path = 'images/backend_images/products/medium/' . $filename;
            $small_image_path = 'images/backend_images/products/small/' . $filename;
            //resize image
            Image::make($image_tmp)->save($large_image_path);
            Image::make($image_tmp)->resize(600, 600)->save($medium_image_path);
            Image::make($image_tmp)->resize(300, 300)->save($small_image_path);
            $product->image = $filename;

        }
    }

由于它上传的文件没有扩展名,从我在谷歌上看到的错误来看,你可能需要使用
$file->mime()
,然后匹配它。@lawrencerone-hmm有趣的是,当dd($image)的时候,我似乎确实找回了mime类型。请参阅更新的问题。是的,如上所述,
扩展
为空,因此它不可用,
扩展
方法只是一个getter。所以你可能需要匹配mime,虽然我不确定信任它有多安全。np,神秘的错误,虽然它与gd无关,幸运的是,如果它不存在,你可以创建它