<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改这里面的两个链接 **/
$xml_url = "域名/sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = 'http://data.zz.baidu.com/urls?site=域名&token=123456789';// 这里修改为你在百度站长获取到的推送接口
/***只需修改这里面的两个链接**/
$xmldata =file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA);
$value_array = json_decode(json_encode($xmlstring),true);
$url = [];
for ($i =0;$i < count($value_array['url']);$i++){// echo $value_array['url'][$i]['loc']."<br/>";$url[]= $value_array['url'][$i]['loc'];
}
//百度推送接口一次只支持推送2000条数据,所以超过2000条的话需要分组推送
$url_group = array_chunk($url,2000);
$count=count($url_group);
for($i=0;$i<$count;$i++){$ch = curl_init();$options = array(CURLOPT_URL => $baidu_api,CURLOPT_POST => true,CURLOPT_RETURNTRANSFER => true,CURLOPT_POSTFIELDS => implode("\n",$url_group[$i]),CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),);curl_setopt_array($ch, $options);$result =curl_exec($ch);curl_close($ch);echo $result;
}
?>
让代码触发
1、服务器上如果用的是宝塔面板的话比较容易,登录你的宝塔面板,在计划任务菜单,添加一个任务类型为访问url,执行周期可自己设定。访问url地址填写你这个文件的地址,比如:域名/baidu.php
2、如果是虚拟主机的话,可在模板文件的底部加入如下代码:<script src="域名/baidu.php
" language="javascript"></script>,这个的话需要有人访问网站中的页面才能触发。