PHPCMS更新全站文章如何生成sitemaps

来源:爱站网时间:2022-09-27编辑:网友分享
PHPCMS更新全站文章如何生成sitemaps你知道吗?为了帮助各位小伙伴解决问题所在,爱站技术频道小编整理了以下相关资料给大家,有需要的朋友千万不要错过了,希望这篇文章能帮助到你。

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

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

代码:

PHP Code复制内容到剪贴板
  1. /**  
  2.  *  sitemap.php PHPCMS V9 sitemaps入口  
  3.  *  
  4.  * @copyright           (C) 2015-2018 piaoyun.cc  
  5.  * @license             http://piaoyun.cc  
  6.  * @lastmodify          2015-05-06  
  7.  */  
  8. if(PHP_SAPI != 'cli')   
  9. {   
  10.     header('location: sitemaps.xml');   
  11.     exit;   
  12. }   
  13. define('SITEMAP_SIZE', 10000);  //sitemaps中最大输出数量   
  14. define('MODEL_SIZE', 3000);     //每个模型中最大输出数量   
  15. $model_arr = array(1=>'资讯', 2=>'图片', 3=>'下载'); //定义需要生成sitemaps的模型   
  16.     
  17. define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);   
  18. include PHPCMS_PATH.'/phpcms/base.php';   
  19.     
  20. $param = pc_base::load_sys_class('param');   
  21.     
  22. $model_arr = emptyempty($model_arr) ? getcache('model','commons') : $model_arr;   
  23.     
  24. $map = array();   
  25. foreach ($model_arr as $modelid => $model)   
  26. {   
  27.     $tablename = $model['tablename'];   
  28.         
  29.     $db = pc_base::load_model('content_model');   
  30.     $db->set_model($modelid);   
  31.         
  32.     if($db->count() && count($map
  33.     {   
  34.         $order = 'id desc';   
  35.         $arc = $db->select(array('status'=>99), 'url,updatetime', MODEL_SIZE, $order);   
  36.         $map = array_merge($map$arc);   
  37.     }   
  38. }   
  39.     
  40. /* 遍历生成 */  
  41. $html = ' 
  42. ';   
  43.     
  44. foreach ($map as $row)   
  45. {   
  46.     if(emptyempty($row) || emptyempty($row['url'])) continue;   
  47.         
  48.     $date = date("Y-m-d"$row['updatetime']);   
  49.     $url = str_replace(array('&''\'''"''>''), array('&'''''"''>''), $row['url']);   
  50.     $html .= "   
  51.   
  52.         {$url}   
  53.         {$date}   
  54.         daily   
  55.         0.8   
  56. ";   
  57. }   
  58.     
  59. $html .= '';   
  60. file_put_contents('./sitemaps.xml'$html);   
  61. ?>  

当然windows一样可以使用,通过计划任务与dos命令完成。

相信朋友们都看明白了PHPCMS更新全站文章如何生成sitemaps文章吧!关注收藏爱站技术频道网站,我们每天不定时更新各种类型的技术文章。

上一篇:phpcms自适应图片比例设置

下一篇:phpcms栏目列表如何调用需要的数据

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载