PHP干预-图片,避免none图片和异常崩溃执行

PHP Intervention-image, avoid none image and exceptions to crash execution

我正在构建一个文件管理器。当我获取所有文件时,我确保我有文件管理器的缩略图,而不是将大图像加载到视图中。

问题

如果文件不是图片,干预库会抛出异常。当然,这是它应该如何 be.I 进行简单的文件扩展名检查,这不是确定它是否是图像的安全方法。 如果源文件不存在,我也会得到一个异常。也许当其他问题出现时。

Image::make($source)
->resize(300, 300,  function ($constraint) {
    $constraint->aspectRatio();
    $constraint->upsize();
})
->save(Storage::disk()->path($target), $quality);

我想解决的;问题

我不希望异常杀死整个进程。这意味着文件管理器会因为错误的文件类型或任何其他问题而崩溃。

我可以忽略异常,不创建缩略图并继续 PHP 执行吗?

评论中的正确答案,@arkascha

All exceptions type (classes) are (if implemented correctly) derived from a common base class called "Exception". If you catch exceptions of a parent class all exceptions that are instantiations of that parents child class are caught too. (Sorry for the late response, had a flight to catch...)

try { ... } catch (\Exception $e) { }

有效,因为所有异常都延伸到它