PHP的博客ping服务代码

  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.glzy8.com</string></value></param>

  <param><value><string>http://www.glzy8.com/001</string></value></param>

  <param><value><string>http://www.glzy8.com</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失败";

  }

  ?>