【求助】怎样用PHP判断一个网站是否能打开?

具体情况是这样的:
我们公司有用网络打印机,此打印机可以用浏览器连接查看印量。但每次统计都要登入每台打印机进入抄印量,很麻烦。
现在我想用PHP编程自动抄出印量,基本上原理就是用file_get_contents()函数抓取网页内容,再用preg_match_all()函数匹配出印量再作统计。
但现在出现一个问题,就是用file_get_contents()函数抓取网页内容时,如果打印机关机,程序就会一直等待,最后什么也不出现。
我想请问如何用PHP来判断一个网页或IP是否在线,如在线则执行程序,如不在线则跳出并返回一个信息。
谢谢!

作者: singiu   发布时间: 2011-07-22

<?php
$m=@file_get_contents("http://www.baidu.com");
if(is_bool($m)){
    echo "无法打开网站";
    //do someing echo errormsg
}else{
    //ok do
    echo substr($m,1,10);
}

作者: crazhou   发布时间: 2011-07-22

这个好像也不行,我用了一个根本不存在的地址来试,发现还是什么也不返回,页面还是空白的。
不过还是谢谢你~

作者: singiu   发布时间: 2011-07-22

终于找到解决方法了,不敢私藏,拿出来大家一起学习:
<?php

$url="192.168.1.100";
exec("ping $url",$pingResult);
if(in_array("请求超时",$pingResult))
{

echo $url."ping不通!";

}else
{
echo $url."能ping通!";

}
unset($pingResult);

?>

作者: singiu   发布时间: 2011-07-22