如何在宝塔设置定时推送pbootcms文章到百度API?
在站点根目录新建一个PHP文件,例如:ys720.php,并复制下方代码添加带ys720.php文件中。
代码如下:
<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改这里面的两个链接 **/
$xml_url = ""; // 这里修改你站点的xml地图链接
$baidu_api = '';// 这里修改为你在百度站长获取到的推送接口
$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("
",$url_group[$i]),
CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
);
curl_setopt_array($ch, $options);
$result =curl_exec($ch);
curl_close($ch);
echo $result;
}
?>
然后进去宝塔找到计划任务,选择 访问url 时间设置为每天,url链接设置 刚刚设置的 域名/ys720.php即可