程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 站點監控php代碼(多站點的話稍加修改就行),可手機短信報警

站點監控php代碼(多站點的話稍加修改就行),可手機短信報警

編輯:關於PHP編程

下面html格式代碼,你新建一個hostmonter.php的文件,然後將下面的代碼復制到文件中並保存,上傳到服務器上,然後用浏覽器也可以用Linux的定時器等工具進行,下在的代碼是每10分鐘檢查一次,下面的代碼中有三個域名,多個域名自行修改一下:

—————————————–代碼內容————————————

<html>
<body>
<meta http-equiv=”refresh” content=”600″>
<?php
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)
{
    /* 下面的[email protected]改成你的郵箱地址 */
    /*  mail(’[email protected]’, ‘Monitoring’, $host.’ down’);  */
    echo “$host – OK<br>”;
}

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<br>”;
   }else{
    echo “$result <br>”;
   }
 
 
 }
}
for ($i=1; $i<=3; $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);}

}
?>

</body>
<html>

——————————————代碼結束———————————————

 from:lonely blog

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved