概述
就像你说的,如果在不存在的文件上使用,getimagesize会生成一个警告:
这段代码:
if ($data = getimagesize('not-existing.png')) {
echo "OK";
} else {
echo "NOT OK";
}
会给你一个
Warning: getimagesize(not-existing.png) [function.getimagesize]:
failed to open stream: No such file or directory
解决方案是使用@ operator来掩盖该错误:
if ($data = @getimagesize('not-existing.png')) {
echo "OK";
} else {
echo "NOT OK";
}
由于该文件不存在,$data仍将是false;但不会显示警告.
在使用getimagesize之前,另一个解决方案是check if the file exists;这样的事情可以做到:
if (file_exists('not-existing.png') &&
($data = getimagesize('not-existing.png'))
) {
echo "OK";
} else {
echo "NOT OK";
}
如果文件不存在,则不调用getimagesize – 这意味着没有警告
不过,这个解决方案不是您应该用于另一个服务器上的图像,而是通过HTTP访问(如果是这种情况),因为这意味着对远程服务器的两个请求.
对于本地图像,这可以是相当的,我想;只有当我看到的问题是在没有被屏蔽的读取错误时生成的通知.
最后:
>我会允许错误显示在您的开发服务器上,
>而不会在您的生产服务器上显示那些 – 请参阅display_errors,关于;-)
最后
以上就是飘逸老鼠为你收集整理的php getimagesize失效,php – getimagesize找不到文件时处理错误的全部内容,希望文章能够帮你解决php getimagesize失效,php – getimagesize找不到文件时处理错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复