玩过WORDPRESS的朋友应该都知道ping服务吧,通俗点讲它可以在更新文章的时候向Google、baidu及其他支持ping的搜索引擎发送指令然后招呼它们过来,不用傻等他们过来收录了,化被动为主动了。直接贴代码了,很简单的。
<?php
/**
+------------------------------------------------------------------------------
* 通知搜索引擎过来抓去最新发布的内容。秒收不是梦
* 目前仅支持Google和Baidu
+------------------------------------------------------------------------------
*/
class ping {
public $method,$callback;
public function method ($site_name,$site_url,$update_url,$update_rss){
$this->method = "
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param><value>{$site_name}</value></param>
<param><value>{$site_url}</value></param>
<param><value>{$update_url}</value></param>
<param><value>{$update_rss}</value></param>
</params>
</methodCall>";
return $this->method;
}
public function _post($url, $postvar) {
$ch = curl_init();
$headers = array(
"POST ".$url." HTTP/1.0",
"Content-type: text/xml;charset=\"utf-8\"",
"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;
}
public function google(){
$this->callback = $this->_post('http://blogsearch.google.com/ping/RPC2', $this->method);
return strpos($this->callback, "<boolean>0</boolean>") ? true : false;
}
public function baidu(){
$this->callback = $this->_post('http://ping.baidu.com/ping/RPC2', $this->method);
return strpos($this->callback, "<int>0</int>") ? true : false;
}
}
?>
<?php
/*
//测试
$ping = new ping();
$ping->method("HeQee",
"http://www.heqee.com",
"http://www.heqee.com/php-google-ping/",
"http://www.heqee.com/feed/");
//google
if($ping->google()){
echo "google ping success!";
}else{
echo "google ping fail";
}
echo "<br>";
//baidu
if($ping->baidu()){
echo "baidu ping success!";
}else{
echo "baidu ping fail";
}
*/
?>
声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0 共享协议.转载请注明转自 HeQee