如何验证变量是否是有效的 GD 图像资源?
我有一个类接受 GD 图像资源作为其参数之一。据我所知,没有办法输入提示,因为它是资源而不是对象。有没有办法验证提供的参数是否是有效的 GD 图像资源(除了使用此资源的其他功能失败之外)?
PS:请不要在您的答案中提及 ImageMagick...
I have a class that accepts a GD image resource as one of its arguments. As far as I know, there is no way to type hint this since it is a resource and not an object. Is there a way to validate whether the supplied argument is a valid GD image resource (aside from further functionality using this resource failing)?
PS: Please do not mention ImageMagick in your answer...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
从 PHP 8.0 开始,带有
GD
图像参数的get_resource_type
将引发致命错误
:我们应该使用
get_class()
函数。 PHP 文档指出:因此,在 PHP 8.0 中检查这一点的正确方法应该是:
Starting with PHP 8.0,
get_resource_type
with aGD
image argument, will throw aFatal Error
:We should use
get_class()
function. PHP documentation states:So, the correct way to check this, in PHP 8.0 should be:
get_resource_type 函数应该可以帮助您。由于缺少编写代码并查看它返回的内容,我不确定它对于 GD 资源会说什么,所以你只能靠自己了。不过,应该是一个很好的起点!
The get_resource_type function should help you out. Short of writing code and seeing what it return, I'm not sure what it's going to say for a GD resource, so you're on your own there. Should be a good starting point, though!
如果资源是 gd 图像,则 get_resource_type() 返回“gd”,这就是您所需要的。
get_resource_type() returns "gd" if the resource is a gd image, so that's what you need.
做一个检查
do a check