2008. 1. 28. 05:45

fsockopen을 이용한 기본적인 서버체크 사용법은 아래와 같은데 이를 약간 수정하여 서버가 온라인일때 server_up.png 를
출력하고 서버와 접속이 안될경우에 server_down.png 의 이미지를 출력해보겠습니다.

기본적인 접속코드, 서버와 접속을 한후 상단에 서버정보를 띄우며, 아래에 홈페이지를 같이 띄움, 체크시간은 30초

<?
$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
    while (!feof($fp)) {
        echo fgets ($fp,128);
    }
    fclose ($fp);
}
?>

아래는 수정한 부분입니다. 서버와 2초간 응답이 없으면 server_down.png 출력, 정상이면 server_up.png 출력
이렇게 해놓으면, php 계정에서 다른 서버들의 상태를 체크를 할수가 있습니다.
제가 이렇게 사용중입니다. 체크할 서버가 많아서..^^

<?
$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 2);
if (!$fp) {
    echo "<img src=img/server_down.png>";
} else {
     echo "<img src=img/server_up.png>";
    }
    fclose ($fp);
?>
 
관련글 보기
2007/10/11 - [윈도우즈] - php 웹 탐색기 - PHP Navigator 3.2

Posted by jinmoda