PHP的ping服務代碼其實在以前我已經寫過一個類,不過,有很多朋友加我好友說,看不太懂,那個是以類的形式寫的,可能如果直接放到代碼裡直接用不太行,今天發一下能夠直接用的ping函數,希望對大家有所幫助,還需要說明的一點是現在的ping並不是像以前那麼管用了,因為,百度和gg可能又加入了其它的指標,新網站ping能成功,但不一定是百分百收錄。
復制代碼 代碼如下:
<?php
function postUrl($url, $postvar)
{
$ch = curl_init();
$headers = array(
"POST ".$url." HTTP/1.0","Content-type: text/xml; charset=\"gb2312\"",
"Accept: text/xml",
"Content-length: ".strlen($postvar)
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
$res = curl_exec ($ch);
curl_close
($ch);
return $res;
}
$baiduXML = "<?xml version=\"1.0\"
encoding=\"gb2312\"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param><value><string>WEB開發筆記</string></value></param>
<param><value><string>http://www.jb51.net</string></value></param>
<param><value><string>http://www.jb51.net/001</string></value></param>
<param><value><string>http://www.jb51.net</string></value></param>
</params>
</methodCall>";
$res
= postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
if ( strpos($res, "<int>0</int>") )
{
echo
"PING成功";
}
else
{
echo "PING失敗";
}
?>