在ThinkPHP3.x框架中实现将原创文章第一时间推送到百度收录
2016-07-08 12:03
661 查看
前两天自己写的一篇文章“针对BootStrap中tabs控件的美化和完善”被别的网站给转载了,这也许是值得高兴的一件事情,但是有些网站并没有注明来源和作者。而去百度搜索这篇文章,排名第一的居然是那些转载的网站,哎,怪自己没本事,网站权重低,所以,我想了一个办法,能第一时间将我的文章提交给百度收录,以期望能够保护我的原创。我在自己的网站中添加了一个功能——在发文章的同时就将该文章推送给百度。下面来说说实现过程。
我的网站是基于ThinkPHP3.x框架的,所以要遵循ThinkPHP的框架标准,在用ThinkPHP框架建立的Home(网站前台所在的文件夹)中有个Common文件夹,这个文件夹主要用于存放在整个网站中都可以用到的方法,由于百度推送方法符合上述情况,因此我在该文件夹下的common.php中建了一个方法pushToBaidu,下面是该方法的代码:
//将文章推送到百度
function pushToBaidu($urls)
{
$api = 'http://data.zz.baidu.com/urls?site='你的网站URL'&token=你的Token';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
return $result;
}
这个方法在整个Action中都是可用的,下面我们来看看如何调用它,在Action里的发表文章的方法中添加如下调用代码用于当发表文章时将该文章的链接推动到百度:
//注意,由于百度推送的参数是数组,所以需要将文章的地址字符串强制转换成数组
$pushresult=pushToBaidu(array('文章的地址'));
$pobj=json_decode($pushresult);//将返回的Json字符串转换成php可操作的对象
if($pobj.success&&$pobj.success>=1)
{
$this->success('推送成功');
}else
{
$this->success('推送失败');
}
该文章首发于顶求网,原文链接:http://www.dqiu.net/doc/577f240ab5c6e
我的网站是基于ThinkPHP3.x框架的,所以要遵循ThinkPHP的框架标准,在用ThinkPHP框架建立的Home(网站前台所在的文件夹)中有个Common文件夹,这个文件夹主要用于存放在整个网站中都可以用到的方法,由于百度推送方法符合上述情况,因此我在该文件夹下的common.php中建了一个方法pushToBaidu,下面是该方法的代码:
//将文章推送到百度
function pushToBaidu($urls)
{
$api = 'http://data.zz.baidu.com/urls?site='你的网站URL'&token=你的Token';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
return $result;
}
这个方法在整个Action中都是可用的,下面我们来看看如何调用它,在Action里的发表文章的方法中添加如下调用代码用于当发表文章时将该文章的链接推动到百度:
//注意,由于百度推送的参数是数组,所以需要将文章的地址字符串强制转换成数组
$pushresult=pushToBaidu(array('文章的地址'));
$pobj=json_decode($pushresult);//将返回的Json字符串转换成php可操作的对象
if($pobj.success&&$pobj.success>=1)
{
$this->success('推送成功');
}else
{
$this->success('推送失败');
}
该文章首发于顶求网,原文链接:http://www.dqiu.net/doc/577f240ab5c6e
相关文章推荐
- Unknown column '' in 'field list'解决方案
- php学生管理系统
- 【原创】Sublime Text 3设置吊炸天PHP开发环境
- 用花生棒+phpstudy建立个人博客的方法
- ThinkPHP的create方法的一系列操作
- Lnmp 支持thinkphp
- 开发自己PHP MVC框架
- Windows2008R2FTP服务器搭建
- Tab系列 03 FragmentPagerAdapter + Fragment + ViewPager+TabPageIndicator
- 令PHP初学者的困惑的10个知识点
- 令PHP初学者的困惑的10个知识点
- laravel资源路由的中控制器中相关方法的解析
- laravel 坑
- 4000 PHP斗地主分牌,数组打乱排序,切割数组,合并数组,按值排序数组。
- yii2.0自定义组件
- CodeIgniter框架源码笔记(3)——每次请求的总调度师傅:引导文件CodeIgniter.php
- PHP中SESSION与COOKIE的区别与联系
- RTP协议全解析(H264码流和PS流)
- Parse error: syntax error
- andriod 获取剪贴板管理服务