PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
发布时间:2016-12-23 来源:查字典编辑
摘要:需求:通过服务器的定时任务自动更新网站全站的所有文章,并生成sitemaps以下代码为sitemapscrontabforphpcmsv9,...

需求:

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

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

代码:

PHP Code复制内容到剪贴板 <?php /** *sitemap.phpPHPCMSV9sitemaps入口 * *@copyright(C)2015-2018piaoyun.cc *@licensehttp://piaoyun.cc *@lastmodify2015-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); includePHPCMS_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_arras$modelid=>$model) { $tablename=$model['tablename']; $db=pc_base::load_model('content_model'); $db->set_model($modelid); if($db->count()&&count($map)<SITEMAP_SIZE) { $order='iddesc'; $arc=$db->select(array('status'=>99),'url,updatetime',MODEL_SIZE,$order); $map=array_merge($map,$arc); } } /*遍历生成*/ $html='<?xmlversion="1.0"encoding="utf-8"?> <urlsetxmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; foreach($mapas$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); ?> 当然windows一样可以使用,通过计划任务与dos命令完成 http://www.jb51.net/article/86202.htm。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新phpcms学习
热门phpcms学习
CMS教程子分类