百度API多文件自动提交 PHP代码
百度官方给了提交核心代码,这里我们自己加一下遍历目录多文件提交,每个文件限制2000行URL.
将文件保存成baidu.php,然后宝塔每天定时运行一次就行了。
需要用户提前把txt文件切割放到网站指定目录。
以后有空在完善,把自动切割和只提交未收录url也写了。
<?php
/*
1 先设置url的所在文件夹名称
2 修改提交api为自己的
3 ...
*/
//遍历文件名函数
function get_dirs($dir_path)
{
$res = array();
$res_lists = array();
foreach (glob("{$dir_path}/*.txt") as $item) {
if (is_dir($item)) {
$folder = end(explode('/', $item));
$res[$folder] = get_dirs($item);
continue;
}
$res[] = basename($item);
}
return $res;
}
//设置文件夹名称
$url_dir = "urldir";
$arr = get_dirs($url_dir);
//遍历提交
foreach ($arr as $value) {
echo "正在提交{$value}...";
//打开TXT
$file = fopen("$url_dir/$value", "r");
$urls = array();
$i = 0;
while (!feof($file)) {
$urls[$i] = fgets($file);
$i++;
}
fclose($file);
$api = 'http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcAkOHZv7XZ';
$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<br>";
}
评论已关闭