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>//www.ythuaji.com.cn</string></value></param>
<param><value><string>//www.ythuaji.com.cn/001</string></value></param>
<param><value><string>//www.ythuaji.com.cn</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失敗";
}
?>