Exemple #1
0
        //返回增量sitemap的索引文件
        $site = BaidusubmitOptions::getOption('siteurl');
        BaidusubmitSitemap::printSitemapList($sitemaps, $site, $urlsuffix);
    }
    BaidusubmitSitemap::printIndexFooter();
}
//全量sitemap
if ('sitemapall' === $_GET['m']) {
    $start_tid = intval($_GET['start']);
    $sitemap = BaidusubmitSitemap::getSitemap(BaidusubmitSitemap::TYPE_ALL, $start_tid);
    if (empty($sitemap)) {
        BaidusubmitSitemap::headerStatus(404);
        return 1;
    }
    $end_tid = $sitemap->end;
    $pidlist = BaidusubmitSitemap::getPostIdByIdRange($start_tid, $end_tid);
    $itemCount = 0;
    $fileSize = 0;
    $urlnum = 0;
    $installmaxtid = BaidusubmitOptions::getOption('installmaxtid');
    header('Content-Type: text/xml; charset=utf-8');
    echo '<?xml version="1.0" encoding="UTF-8"?><urlset>';
    foreach ($pidlist as $pid) {
        $schema = BaidusubmitSitemap::genSchemaByPostId($pid, $post);
        $output = $schema->toXml() . "\n";
        $fileSizeCheck = $fileSize + strlen($output);
        $itemCountCheck = $itemCount + 1;
        // split sitemap file
        if ($fileSizeCheck >= 1024 * 1024 * 8 || $itemCountCheck > 5000) {
            // concurrent request
            $sp = BaidusubmitSitemap::getSitemap(BaidusubmitSitemap::TYPE_ALL, $start_tid, $end_tid);