Example #1
0
    if ($fileSizeCheck >= 1024*1024*8) {
        $sizesplitsitemap = true;
        break;
    }

    $fileSize = $fileSizeCheck;

    echo $output;
    flush();
}
echo '</urlset>';

//分裂数据
if ($sizesplitsitemap || ($indexsplitsitemap && $thread['lastpost']<$endTime)) {  //超过sitemap文件限制进行分裂
    $sp = baidu_get_sitemap(2, $startTime, $endTime);
    if ($sp) {
        //计算裂变
        $newStartTime = $thread['lastpost'];
        //裂变步长
        $stepLen = intval(($newStartTime - $startTime - 1) * 0.3);
        $curTime = time();
        //只裂变到当前时间
        $count = ceil(($curTime - $newStartTime) / $stepLen);
        for ($i=0; $i<$count; $i++) {
            $_xstart = $newStartTime + $stepLen * $i;
            $_xend = $_xstart + $stepLen - 1;
            if ($_xend > $curTime) {
                $_xend = $curTime;
            }
            $url = "sitemapinc&start={$_xstart}";
Example #2
0
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?><urlset>';

$forumlist = baidu_get_forum_list();
foreach ($threadlist as $tid => $thread) {
    $output = baidu_schema_body_build($forumlist[$thread['fid']], $thread);
    if ($output === false) {
        continue;
    }
    $fileSizeCheck = $fileSize + strlen($output);
    $itemCountCheck = $itemCount + 1;

    // split sitemap file
    if ($fileSizeCheck >= 1024 * 1024 * 8 || $itemCountCheck > 5000) {
        // 并发问题
        $sp = baidu_get_sitemap(1, $start_tid, $end_tid);
        if ($sp) {
            $new_start_tid = $thread['tid'];
            $past_tid = $new_start_tid - $start_tid - 1;
            $count = ceil(($end_tid - $new_start_tid) / $past_tid);

            for ($i = 0; $i < $count; $i++) {
                $_xstart = $new_start_tid + $past_tid * $i;
                $_xend = $_xstart + $past_tid - 1;
                if ($_xend > $end_tid) {
                    $_xend = $end_tid;
                }
                $url = "sitemapall&start={$_xstart}";
                C::t('#baidusubmit#baidusubmit_sitemap')->add($url, 1, $_xstart, $_xend);
            }