找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 149|回复: 0

[cms教程] PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]

[复制链接]

该用户从未签到

发表于 2019-3-24 16:20:00 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版,
需求:
通过服务器的定时任务自动更新网站全站的所有文章,并生成sitemaps
以下代码为sitemaps crontab for phpcms v9,以下代码保存到phpcms 根目录下,配置cronTab定时生成即可
代码:
PHP Code复制内容到剪贴板
   
    /**  
     *  sitemap.php PHPCMS V9 sitemaps入口  
     *  
     * @copyright           (C) 2015-2018 piaoyun.cc  
     * @license             http://piaoyun.cc  
     * @lastmodify          2015-05-06  
     */  
    if(PHP_SAPI != 'cli')   
    {   
        header('location: sitemaps.xml');   
        exit;   
    }   
    define('SITEMAP_SIZE', 10000);  //sitemaps中最大输出数量   
    define('MODEL_SIZE', 3000);     //每个模型中最大输出数量   
    $model_arr = array(1=>'资讯', 2=>'图片', 3=>'下载'); //定义需要生成sitemaps的模型   
        
    define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);   
    include PHPCMS_PATH.'/phpcms/base.php';   
        
    $param = pc_base::load_sys_class('param');   
        
    $model_arr = emptyempty($model_arr) ? getcache('model','commons') : $model_arr;   
        
    $map = array();   
    foreach ($model_arr as $modelid => $model)   
    {   
        $tablename = $model['tablename',;   
            
        $db = pc_base::load_model('content_model');   
        $db->set_model($modelid);   
            
        if($db->count() && count($map)
        {   
            $order = 'id desc';   
            $arc = $db->select(array('status'=>99)] 'url]updatetime', MODEL_SIZE, $order);   
            $map = array_merge($map] $arc);   
        }   
    }   
        
    /* 遍历生成 */  
    $html = '  
    ';   
        
    foreach ($map as $row)   
    {   
        if(emptyempty($row) || emptyempty($row['url',)) continue;   
            
        $date = date("Y-m-d", $row['updatetime',);   
        $url = str_replace(array('&', '\'', '"', '>', ')] array('&', ''', '"', '>', ')] $row['url',);   
        $html .= "   
       
            {$url}   
            {$date}   
            daily   
            0.8   
   
";   
    }   
        
    $html .= '
';   
    file_put_contents('./sitemaps.xml', $html);   
    ?>  
[/ol,
当然windows一样可以使用,通过计划任务与dos命令完成 https://www.jb51.net/article/86202.htm。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-16 06:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表