使用thinkphp的行为扩展ping搜索引擎服务
ping搜索引擎可以在发布新文章的同时通知搜索引擎,其实最主要的是通知搜索引擎,这篇文章是我原创的,当然了,搜索引擎不是你告诉他原创就原创了,但如果文章是原创的话好处当然是有的。
今天就用thinkphp的行为来实现ping,其实代码很简单,也可以自行添加不同的搜索引擎ping地址。
上代码: 'http://ping.baidu.com/ping/rpc2',
'google' => 'http://blogsearch.google.com/ping/rpc2',
'bloglines' => 'http://www.bloglines.com/ping'
);
//拼接xml
//@author liaocaixin
public function run(&$data){
$xml = '
weblogupdates.extendedping
' . $data['blog_name'] . '
' . $data['blog_home'] . '
' . $data['blog_url'] . '
' . $data['rss_url'] . '
';
$xml_baidu = '
weblogupdates.extendedping
' . $data['blog_name'] . '
' . $data['blog_home'] . '
' . $data['blog_url'] . '
' . $data['rss_url'] . '
';
foreach($this->services as $k => $s){
$s = trim($s);
if(!empty($s)){
$c = curl_init();
$header = array(
content-type: text/xml;charset=\utf-8\,
accept: text/xml
);
curl_setopt_array(
$c,
array(
curlopt_url => $s,
curlopt_returntransfer => true,
curlopt_post => true,
curlopt_httpheader => $header,
curlopt_postfields => $k === 'baidu' ? $xml_baidu : $xml
)
);
$content=curl_exec($c);
curl_close($c);
}
}
}
}调用也很简单,在模型和控制器中调用都行,我是在控制器调用的。
示例代码: //更新ping
//需要更新的url列表
$update = array(
'blog_name' => '魔力贝',
'blog_home' => 'http://www.molibei.com',
'blog_url' => u('article/index@www.molibei.com',array('id'=>$id)),
'rss_url' => u('rss/index@www.molibei.com')
);
tag('ping',$update);就可以实现发布文章的同时ping搜索引擎了
原文地址:http://www.molibei.com/article/5.htm
ad:真正免费,域名+虚机+企业邮箱=0元