网站地图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 ?>