下面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