Php 使用Laravel图像干预调整图像上载大小时出错
我正在使用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
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无关,幸运的是,如果它不存在,你可以创建它