简单的帝国生成xml格式的sitemap方法

1、在网站目录下新建sitemap.php文件,复制下面代码:

<?php
/****************************************************
 ** 帝国cms站点地图生成器 SiteMap Generator
 ** http://www.yiecho.com
 ** email: 252161194@qq.com
 ****************************************************
 */
@ini_set("memory_limit","100M");
@set_time_limit(0);

require('e/class/connect.php');
require('e/class/db_sql.php');
require('e/data/dbcache/class.php');

$link=db_connect();
$empire=new mysqlquery();

$start = 0;
$size = 5000;
$sql = "select count(*) as total from {$dbtbpre}ecms_news";
$count=$empire->gettotal($sql);
$page = ceil($count/$size);
//取得网站地址
$siteurl=$public_r['newsurl'];
if(!stristr($public_r['newsurl'],'://'))
{
    $siteurl=eReturnDomain().$public_r['newsurl'];
}
$sitedomain=substr($siteurl,0,-1);//网站域名
for($k=0;$k<$page;$k++){
$header = '<?xml version="1.0" encoding="UTF-8"?><urlset>';
$footer = '</urlset>';
$li=$size*$k;
$file = './sitemap/sitemap-'.$k.'.xml';

$str = $header;


    $li=$size*$k;
    $sql = $empire->query("select * from {$dbtbpre}ecms_news order by id asc limit ".$li.",".$size);
    echo $li."<br />";
    while($r=$empire->fetch($sql))
    {
        if($r['isurl'])
        {
            continue;
        }
        $titleurl=sys_ReturnBqTitleLink($r);
        $titleurl=str_replace('&','&',$titleurl);
        if(!stristr($titleurl,'://'))
        {
            if($public_r['newsurl']=='/')
            {
                $titleurl=$sitedomain.$titleurl;
            }
            else
            {
                $titleurl='http://www.yoursite.com'.$titleurl; //改成自己的网站域名
            }
        }
        $tii=date('Y-m-d',$r[newstime]);
        $str .= <<<EOT

<url>
<loc>$titleurl</loc>
<lastmod>$tii</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
EOT;

}
    $str .= $footer;
    file_put_contents($file, $str);
    $str=$header;
    echo $file.' finished<br>';
}
function cut($str){
    return mb_substr($str,0, 80,'utf-8');
}

function conv($str){
    return iconv('gbk','utf-8',$str);
}
?>

2、直接访问http://www.yoursite.com/sitemap.php 就会在sitemap文件夹内生成xml文件

简单的帝国生成xml格式的sitemap方法:等您坐沙发呢!

发表评论

表情
还能输入210个字