使用PHP检查Internet状态

时间:2013-12-03 10:34:03

标签: php

我想使用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。

2 个答案:

答案 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