class ping{ private $title; //博客名称 private $hosturl; //博客首页地址 private $arturl; //新发文章地址 private $rssurl; //博客rss地址 private $baiduXML; //百度XML结构 private $baiduRPC; //百度XML地址 public function __construct($title,$arturl,$hosturl,$rssurl) { if(empty($title) || empty($arturl)) return false; $this->title=$title; $this->hosturl=$hosturl; $this->rssurl=$rssurl; $this->arturl=$arturl; $this->baiduRPC='http://ping.baidu.com/ping/RPC2'; $this->baiduXML = ''; $this->baiduXML .=''; $this->baiduXML .=' weblogUpdates.extendedPing'; $this->baiduXML .=' '; $this->baiduXML .=' '.$this->hosturl.''; $this->baiduXML .=' '.$this->title.''; $this->baiduXML .=' '.$this->arturl.''; $this->baiduXML .=' '.$this->rssurl.''; $this->baiduXML .=' '; $this->baiduXML .=''; } public function pingbaidu() { $ch = curl_init(); $headers=array( 'User-Agent: request', 'Host: ping.baidu.com', 'Content-Type: text/xml', ); curl_setopt($ch, CURLOPT_URL, $this->baiduRPC); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $this->baiduXML); $res = curl_exec ($ch); curl_close ($ch); //return $res; return (strpos($res,"0"))?true:false; } } function get_domain() { /* 协议 */ $protocol = 'http://'; /* 域名或IP地址 */ if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $host = $_SERVER['HTTP_X_FORWARDED_HOST']; } elseif (isset($_SERVER['HTTP_HOST'])) { $host = $_SERVER['HTTP_HOST']; } else { /* 端口 */ if (isset($_SERVER['SERVER_PORT'])) { $port = ':' . $_SERVER['SERVER_PORT']; if ((':80' == $port & 'http://' == $protocol) || (':443' == $port & 'https://' == $protocol)) { $port = ''; } } else { $port = ''; } if (isset($_SERVER['SERVER_NAME'])) { $host = $_SERVER['SERVER_NAME'] . $port; } elseif (isset($_SERVER['SERVER_ADDR'])) { $host = $_SERVER['SERVER_ADDR'] . $port; } } return $protocol.$host; } //$arc = new Ping('网站标题','更新的URL地址','网站域名','rss地址'); //$arc = new Ping('你网站的title',get_arcurl($id),get_domain(),'http://www.abc.com/rss.php'); //echo $arc->pingbaidu(); //返回结果为0 表示成功。