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


    上一遍《网站地图sitemap.xml自动更新lastmod文件(PHP代码)》代码在实际应用中并不理想,在浏览器中访问后,过一会就出现500的错误,不能实现夜间或者凌晨变更日期的目的。

    对代码进行了更新,把更新后的php页面在index.php中被调用,也就是只要有人访问网站首页或者蜘蛛抓取时,sitemap.xml中的日期就会被变更。

    test.php页面,放在/runc/目录下

    <?php
    
    sitemaptest();
    
    function sitemaptest()
    {
        $xml="../sitemap.xml";
    
        $a=filemtime($xml);        //文件修改日期
    
        $filetime = date("Y-n-d",$a);    //文件修改日期进行格式化
    
        if ( $filetime != date("Y-n-d") )        //判断文件修改日期是否等于今天。如果等于今天日期,则什么也不做;否则修改sitemap.xml中的lastmod时间
        {
            $lastmod = '<lastmod>';
            $lastmod .= date("Y-n-d",strtotime("-1 day"));        //前一天日期date("Y-n-d",strtotime("-1 day"));substr(md5(time()), 0, 8);
            $lastmod .= "</lastmod>
    ";
    
            $fpxml=fopen($xml,"rw+");
    
            while(!feof( $fpxml ))
            {
                $m = fgets( $fpxml,1024 ); //fgets逐行读取,4096最大长度,默认为1024
    
                if( substr_count( $m,"<priority>0.8</priority>" ) > 0 || substr_count( $m,"<priority>1.0</priority>" ) > 0 ) //查找字符串
                {
                    fwrite($fpxml, $lastmod);
                }
            }
    
            fclose($fpxml);
        }
    }
    
    ?>

    在index.php中调用test.php

    <?php 
    
    $url="test.php网址";
    
    file_get_contents($url);
    
    ?>
  • 相关阅读:
    微信小程序之:获得appid
    小程序v0.10基本布局
    小程序v0.02 清理干净
    微信小程序v0.01
    让Eclipse在10秒内启动的7个优化提速技巧
    转 1 年经验 Java 求职面试题
    坑爹啊
    ES6,时间格式yyyy-MM-dd HH:MM:SS
    ln: creating hard link 问题
    boost实现串口通信(一):小试牛刀
  • 原文地址:https://www.cnblogs.com/zhuque/p/12814114.html
Copyright © 2020-2023  润新知