在检查了大约 20 个解决方案后,我放弃了并需要帮助。 我有 2 个 JPG 文件。两者都有适当的 mime,它们对于 upload_max_filesize 来说不是太大,名称可以,路径也可以。每个解决方案都是关于其中一个问题。
我的问题是当我在第一个图像上运行脚本时它没问题,没有错误,对象被创建:
$image1 = Image::make(public_path()."/uploads/goodimage.jpg");
查看示例: https://app.esticrm.pl/uploads/goodimage.jpg
当我在其他图片上运行它时出现错误:
$image2 = Image::make(public_path()."/uploads/badimage.jpg");
查看示例: https://app.esticrm.pl/uploads/badimage.jpg
错误信息:
Intervention \ Image \ Exception \ NotReadableException Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files.
Windows 和 Linux 上的情况相同。我检查过的每个图形程序和浏览器都可以打开文件。 这些问题在 PHP 从 5.5.x 升级到 5.6.35 后开始出现。之前还好。
最佳答案
好的,我找到了解决方案:
$image2 = Image::make(file_get_contents(public_path()."/uploads/badimage.jpg"));
也适用于表单中的文件对象:
$image2 = Image::make(file_get_contents(Input::file('upload_file'));
关于Laravel 4.2 抛出 NotReadableException "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52486859/