Vic*_*let 3 php error-handling gd imagecreatefrompng
在我的脚本中,我有以下几行:
$test = @imagecreatefrompng($name);
if ($test) { ... }
Run Code Online (Sandbox Code Playgroud)
我确信它$name代表磁盘上的现有文件,但我必须处理该文件不是有效PNG文件的情况(由于传输错误或恶意用户).我希望通过不做任何事情来处理这些案件.
但是,鉴于上面的代码,我的PHP解释器在第一行停止,并显示以下错误消息:
imagecreatefrompng()[function.imagecreatefrompng]:'foobar.png'不是有效的PNG文件
不应该@已经抑制了此错误消息,并且false如文档中所述返回了函数吗?我怎么能告诉PHP我知道可能发生错误而不中断执行?
你可以mime_content_type在文件上使用.
$image = 'file.png';
if(is_file($image) && mime_content_type($image_type) == 'image/png'){
// Image is PNG
}else{
// Not PNG
}
Run Code Online (Sandbox Code Playgroud)
这将确保图像是文件和PNG.