> php教程 > php手册 > 站点监控php代码(多站点的话稍加修改就行),可手机短信报警

站点监控php代码(多站点的话稍加修改就行),可手机短信报警

WBOY
풀어 주다: 2016-06-13 10:43:24
원래의
1256명이 탐색했습니다.

下面html格式代码,你新建一个hostmonter.php的文件,然后将下面的代码复制到文件中并保存,上传到服务器上,然后用浏览器也可以用Linux的定时器等工具进行,下在的代码是每10分钟检查一次,下面的代码中有三个域名,多个域名自行修改一下:

—————————————–代码内容————————————




function check($host, $find)
{
    $fp = fsockopen($host, 80, $errno, $errstr, 10);
    if (!$fp)
    {
        echo “$errstr ($errno)\n”;
    } else
    {
       $header = “GET / HTTP/1.1\r\n”;
       $header .= “Host: $host\r\n”;
       $header .= “Connection: close\r\n\r\n”;
       fputs($fp, $header);
       while (!feof($fp))
       {
           $str .= fgets($fp, 1024);
       }
       fclose($fp);
       return (strpos($str, $find) !== false);
    }
}
function ok($host)
{
    /* 下面的youremail@139.com改成你的邮箱地址 */
    /*  mail(’200513538@qq.com’, ‘Monitoring’, $host.’ down’);  */
    echo “$host – OK
”;
}

function posttohost($host)
{
    /* 下面是以西部数码短信接口为例 */
        $maildomain=’域名’;
 $mailpwd=’密码’;
 $sendmobile=’接收报警的手机号,联通/电信189/移动都可以’;
 $sendcontent=”$host 出现故障!”;
 $sendport=’3′;
 if($maildomain!=”"){
  $key=md5($maildomain.$mailpwd);
  $url=”http://usericp.west263.cn/default.aspx“;
  $data=array(‘mobile’=>$sendmobile,’sendcontent’=>mb_convert_encoding($sendcontent, “UTF-8″, “gb2312″),’port’=>$sendport,’maildomain’=>$maildomain,’key’=>$key);
  $data=http_build_query($data);
  $opts=array(‘http’=>array(‘method’=>’POST’,
          ‘header’=>”Content-type: application/x-www-form-urlencoded\r\n”.
          “Content-Length:”.strlen($data).”\r\n”,
          ‘content’=>$data),);
  $context=stream_context_create($opts);
  $html=file_get_contents($url,false,$context); 
  $result=iconv(“UTF-8″,”gb2312″,$html);
  if($result==”200 ok”){
     echo “$host – sendOK
”;
   }else{
    echo “$result
”;
   }
 
 
 }
}
for ($i=1; $i {
   if ($i==1)
      {
        /* 下面的网址改成你要监控的网址 */
        $host = ‘www.xxx.com’;
  $Content = “www.xxx.com-无法连接”;
       }elseif ($i==2)
      {
        $host = ‘www.yyy.com’;
  $Content = “www.yyy.com-无法连接”;
      }elseif ($i==3)
      {
        $host = ‘www.zzz.com’;
  $Content = “www.zzz.com-无法连接”;
       }

/* 下面的”备案号:”改成你的网站首页源代码中的一段特殊字符串 */
$find = ‘备案号:’;

if (!check($host, $find))
 {
  posttohost($host);
 }
else
 {ok($host);}

}
?>


——————————————代码结束———————————————

 from:lonely blog

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿