【求助】怎样用PHP判断一个网站是否能打开?
时间:2011-07-22
来源:互联网
具体情况是这样的:
我们公司有用网络打印机,此打印机可以用浏览器连接查看印量。但每次统计都要登入每台打印机进入抄印量,很麻烦。
现在我想用PHP编程自动抄出印量,基本上原理就是用file_get_contents()函数抓取网页内容,再用preg_match_all()函数匹配出印量再作统计。
但现在出现一个问题,就是用file_get_contents()函数抓取网页内容时,如果打印机关机,程序就会一直等待,最后什么也不出现。
我想请问如何用PHP来判断一个网页或IP是否在线,如在线则执行程序,如不在线则跳出并返回一个信息。
谢谢!
我们公司有用网络打印机,此打印机可以用浏览器连接查看印量。但每次统计都要登入每台打印机进入抄印量,很麻烦。
现在我想用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);
}
$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);
?>
<?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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28