-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

网站地图sitemap.xml自动更新lastmod文件(PHP代码)

网站地图sitemap.xml自动更新lastmod文件(PHP代码)

目前我这个代码是用到我网站上的,每个一定时间去执行一段代码,更新我的xml地图,可以借助这个思路,实现其他软件测试辅助功能。比如定期获取服务器上的某类资源。

 1 <?php
 2 ignore_user_abort();    //关闭浏览器仍然执行
 3 
 4 set_time_limit(0);    //让程序一直执行下去
 5 
 6 ini_set('memory_limit','52M');        //设置内存限制
 7 
 8 $interval=60*60;    // 每隔1小时运行一次
 9 
10 do{
11     sitemaptest();
12     
13     sleep($interval);
14     
15 }while(true);
16 
17 
18 function sitemaptest()
19 {
20     $xml="../sitemap.xml";
21 
22     $a=filemtime($xml);
23 
24     $filetime = date("Y-n-d",$a);
25 
26     //if ( $filetime == date("Y-n-d")  )    
27     //{
28     //    null;
29     //}else 
30     if ( $filetime != date("Y-n-d") )        //判断文件修改日期是否等于今天。如果等于今天日期,则什么也不做;否则修改sitemap.xml中的lastmod时间
31     {
32         $lastmod = '<lastmod>';
33         $lastmod .= date("Y-n-d",strtotime("-1 day"));        //前一天日期
34         $lastmod .= "</lastmod>\n";
35 
36         $fpxml=fopen($xml,"rw+");
37 
38         while(!feof( $fpxml ))
39         {
40             $m = fgets( $fpxml,1024 ); //fgets逐行读取,4096最大长度,默认为1024
41 
42             if( substr_count( $m,"<priority>0.8</priority>" ) > 0 || substr_count( $m,"<priority>1.0</priority>" ) > 0 ) //查找字符串
43             {
44                 fwrite($fpxml, $lastmod);
45             }
46         }
47 
48         fclose($fpxml);
49     }
50 }
51 
52 ?>

 

posted @ 2020-04-26 16:54  ZhuQue  阅读(2016)  评论(0编辑  收藏  举报
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。