站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

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

2019-10-14 12:55 | 来源:易采站长站 | 编辑:admin |

需求:
通过服务器的定时任务自动更新网站全站的所有文章,并生成sitemaps

以下代码为sitemaps crontab for phpcms v9,以下代码保存到phpcms 根目录下,配置cronTab定时生成即可

代码:
PHP Code复制内容到剪贴板

  1. <?php    /**
  2.  *  sitemap.php PHPCMS V9 sitemaps入口    *  
  3.  * @copyright           (C) 2015-2018 piaoyun.cc    * @license             http://piaoyun.cc  
  4.  * @lastmodify          2015-05-06    */  
  5. if(PHP_SAPI != 'cli')    {   
  6.     header('location: sitemaps.xml');        exit;   
  7. }    define('SITEMAP_SIZE', 10000);  //sitemaps中最大输出数量   
  8. define('MODEL_SIZE', 3000);     //每个模型中最大输出数量    $model_arr = array(1=>'资讯', 2=>'图片', 3=>'下载'); //定义需要生成sitemaps的模型   
  9.      define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);   
  10. include PHPCMS_PATH.'/phpcms/base.php';        
  11. $param = pc_base::load_sys_class('param');        
  12. $model_arr = emptyempty($model_arr) ? getcache('model','commons') : $model_arr;        
  13. $map = array();    foreach ($model_arr as $modelid => $model)   
  14. {        $tablename = $model['tablename'];   
  15.              $db = pc_base::load_model('content_model');   
  16.     $db->set_model($modelid);            
  17.     if($db->count() && count($map) < SITEMAP_SIZE)        {   
  18.         $order = 'id desc';            $arc = $db->select(array('status'=>99), 'url,updatetime', MODEL_SIZE, $order);   
  19.         $map = array_merge($map, $arc);        }   
  20. }        
  21. /* 遍历生成 */   $html = '<?xml version="1.0" encoding="utf-8"?>
  22. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';        
  23. foreach ($map as $row)    {   
  24.     if(emptyempty($row) || emptyempty($row['url'])) continue;            
  25.     $date = date("Y-m-d", $row['updatetime']);        $url = str_replace(array('&', '\'', '"', '>', '<'), array('&', ''', '"', '>', '<'), $row['url']);   
  26.     $html .= "    <url>   
  27.         <loc>{$url}</loc>            <lastmod>{$date}</lastmod>   
  28.         <changefreq>daily</changefreq>            <priority>0.8</priority>   
  29. </url>";    }   
  30.      $html .= '</urlset>';   
  31. file_put_contents('./sitemaps.xml', $html);    ?>  

注:相关教程知识阅读请移步到PHPCMS教程频道。

软件名称:
PhpCms网站管理系统下载
软件语言:
简体/繁体中文
软件授权:
个人免费

  • PHPCMS V9 添加二级导航的思路详解-PhpCms教程
  • phpcmsv9和discuz同步登陆同步退出教程-PhpCms教程
  • phpcmsV9栏目伪静态的修改方法(支持自定义目录名)-PhpCms教程
  • 如何清理phpcmsv9的错误日志-PhpCms教程
  • PHPCMSv9 非内容页调用组图字段的方法(实现组图任意地方调用)-PhpCms教
  • PHPCMSv9后台启用二级域名之后如何修改回来-PhpCms教程
  • PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号