主页 > 教程合集 > 网站建设 >

网站链接百度PHP主动推送时屏蔽指定路径的方法

时间:2018-05-05 阅读:0

在《DedeCMS网站链接百度PHP主动推送代码实例》一文中,余斗就织梦后台如何部署百度站长PHP主动推送代码做出想起讲解,这里可以利用php语言获取织梦网站的指定时间内的网址,然后推送给百度,得到一个反馈值,这个功能很好,可以及时让百度获取我们的网站更新,对网站收录增加有用。

不少网友在私下加我QQ咨询,这个方法虽然很好,但是有的时候网站的某些栏目下的文章并不需要推送,此时该如何在推送前屏蔽掉呢?

其实方法很简单,只需要在获取urls后加一段判断语法即可:


//去除包含suiyuqiang字符网址
$str="suiyuqiang";
foreach ($urls as $k=>$v){
//判断数组值是否包含字符suiyuqiang
if(strpos($v, $str)!== false){
//删除对应的元素
unset($urls[$k]);
                                                          }
                                                }
//print_r($urls);
//输出查看是否准确屏蔽
 

这里是屏蔽掉含字符“suiyuqiang”的网址,这样就可以在推送至百度前完美的删除带“suiyuqiang”路径的网址了!

完整的代码如下:


<?php
require_once ("include/common.inc.php");
require_once "include/arc.partview.class.php";
require_once('include/charset.func.php');

$year = date("Y");
$month = date("m");
$day = date("d");
$dayBegin = mktime(0,0,0,$month,$day,$year);//当天开始时间戳
$dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin."";
//echo $query;

$urls="";
               
$dsql->Execute('arch.id,types.typedir',$query);
while($row = $dsql->GetArray('arch.id,types.typedir'))
{
$urls.="http://www.yourdomain.com".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";    //将上边的www.yourdomain.com换成你的网址
}
$urls=substr($urls,0,-1);
$urls    = explode(",",$urls);
//去除包含suiyuqiang字符网址
$str="suiyuqiang";
foreach ($urls as $k=>$v){
//判断数组值是否包含字符suiyuqiang
if(strpos($v, $str)!== false){
//删除对应的元素
unset($urls[$k]);
                                                          }
                                                }
//print_r($urls);
//输出查看是否准确屏蔽

$api = 'http://data.zz.baidu.com/urls?site=http://www.yourdomain.com&token=xxxxxxx'; // 将www.yourdomain.com换成你的网址,xxx换成自己的密钥
$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);
echo $result;
?>
 

当然,这个方法也适用于熊掌号的推送,详细教程可以移步《DedeCMS实现百度熊掌号API提交接口推送(PHP推送)

如果这篇博文对你有帮助,希望您可以打赏给博主余斗,以支持余斗继续坚持下去!

余斗个人博客打赏二维码

余斗余斗
  • 版权声明:原创文章由发表在网站建设分类下,2018-05-05最后更新,转载注明出处。

相关推荐

返回顶部