如何在getimagesize()中处理超时

时间:2011-03-11 11:20:14

标签: php

我在尝试使用它之前找到图像的图像/像素大小。我看到图像的以下警告。 Warning: getimagesize(http://farm4.hv-static.flickr.com/3052/2330936325_ea1ddf9e7d_m.jpg): failed to open stream: Connection timed out
知道如何处理这个问题吗?我检查了手册,但没有找到任何选项。

2 个答案:

答案 0 :(得分:0)

如果检索失败,

getimagesize返回FALSE。 如果你不想通过

看到它们,你可以禁用警告输出
error_reporting(0);

答案 1 :(得分:0)

作为its manual page says

  

如果访问文件名图像是   不可能,或者如果它不是有效的   图片,getimagesize()会   生成一个级别的错误   E_WARNING
读取错误时,   getimagesize()会产生一个   级别E_NOTICE的错误。

除了确保错误消息未显示给您的用户外,您无能为力。


这可以通过更改display_errors指令来完成:

  • 在你的php.ini文件中,为你的所有页面(好主意:在生产服务器上显示错误绝不好)
  • 或在脚本开头使用ini_set('display_errors', 'off');


或者使用@ operator来消除错误:

$result = @getimagesize(...);

注意:这通常不是一个好主意:你会完全忽略发生错误的迹象!
最好不要显示错误,但仍然记录错误......