大家好,今小编要介绍的是关于PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]的相关内容,多方面分析说明,感兴趣朋友的可以参考学习。
关键词:Sitemaps 需求:
通过服务器的定时任务自动更新网站全站的所有文章,并生成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命令完成 https://www.jb51.net/article/86202.htm。
以上就是PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]的全部内容,希望可以帮助到您。感谢对蚂蚁资源网的支持。
(责任编辑:
蔡祥宇)
版权声明:文章内容是蚂蚁资源网小编精心整合原创的,素材来源于互联网,如无意侵犯到您的权益,请联系网站客服核实版权信息,以便及时删除。