我想使用php检查互联网连接状态。我试过这个:
<?php
$connected = @fsockopen("www.google.com");
if ($connected){
$is_conn = true; //0
fclose($connected);
}else{
$is_conn = false; //1
}
echo (int)$is_conn;
?>
但如果我连接到内部notwork,它总是返回true!如果我不在线,即使我已连接到内部网络,我也需要它返回false。
答案 0 :(得分:4)
利用这个简单的代码来检查互联网是否已连接。
<?php
checkdnsrr('php.net') ? print 1: print 0; // " prints" 1 (If internet is ON)
答案 1 :(得分:2)
当您使用@fsockopen作为离线
时 if (!$sock = @fsockopen('www.google.com',80,$errorNum,$errorMessage)) {
echo "no connection";
echo $errorMessage;
}else{
echo "connection";
echo $errorMessage;
并打印错误消息 将是:
php_network_getaddresses: getaddrinfo failed: System error