PHPCMS更新全站文章如何生成sitemaps
来源:爱站网时间:2022-09-27编辑:网友分享
PHPCMS更新全站文章如何生成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);
- ?>
当然windows一样可以使用,通过计划任务与dos命令完成。
相信朋友们都看明白了PHPCMS更新全站文章如何生成sitemaps文章吧!关注收藏爱站技术频道网站,我们每天不定时更新各种类型的技术文章。
上一篇:phpcms自适应图片比例设置