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失败";
}
?>