欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

实现发布文章同步Ping搜索引擎的Behavior

程序员文章站 2022-06-02 20:37:37
...
使用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元