PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
需求:
通过服务器的定时任务自动更新网站全站的所有文章,并生成sitemaps
以下代码为sitemaps crontab for phpcms v9,以下代码保存到phpcms 根目录下,配置cronTab定时生成即可
代码:
- <?php
- /**
- * 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) < SITEMAP_SIZE)
- {
- $order = 'id desc';
- $arc = $db->select(array('status'=>99), 'url,updatetime', MODEL_SIZE, $order);
- $map = array_merge($map, $arc);
- }
- }
- /* 遍历生成 */
- $html = '<?xml version="1.0" encoding="utf-8"?>
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
- 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>
- <loc>{$url}</loc>
- <lastmod>{$date}</lastmod>
- <changefreq>daily</changefreq>
- <priority>0.8</priority>
- </url>";
- }
- $html .= '</urlset>';
- file_put_contents('./sitemaps.xml', $html);
- ?>
上一篇:没有了
栏 目:phpcms
下一篇:没有了
本文标题:PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
本文地址:https://www.xiuzhanwang.com/a1/phpcms/9758.html
您可能感兴趣的文章
- 01-10phpcms常见问题解答
- 01-10phpcms语法规则
- 01-10PHPCMS网站转移空间教程
- 01-10PHPCMS2008 SP4 心情排行指数不显示的解决办法
- 01-10phpcms频道首页调用所有一级栏目及二级栏目
- 01-10phpcms标签模板及专题模板的制作
- 01-10PHPCMS系统自带标签说明
- 01-10为PHPCMS 2008 编辑器增加常用中文字体方法
- 01-10PHPcms 2008 注册选择模型关闭后,注册不能自动登录的问题
- 01-10phpcms模仿QQ和MSN消息提示的效果
阅读排行
本栏相关
- 01-10phpcms常见问题解答
- 01-10phpcms语法规则
- 01-10PHPCMS2008 SP4 心情排行指数不显示的解
- 01-10PHPCMS网站转移空间教程
- 01-10PHPCMS系统自带标签说明
- 01-10phpcms标签模板及专题模板的制作
- 01-10phpcms频道首页调用所有一级栏目及二
- 01-10PHPcms 2008 注册选择模型关闭后,注册
- 01-10为PHPCMS 2008 编辑器增加常用中文字体
- 01-10phpcms模仿QQ和MSN消息提示的效果
随机阅读
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery
- 01-10SublimeText编译C开发环境设置
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05DEDE织梦data目录下的sessions文件夹有什