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

Posted ZhuQue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站地图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);

?>

 

以上是关于网站地图sitemap.xml自动更新lastmod文件(PHP代码)-更新的主要内容,如果未能解决你的问题,请参考以下文章

米扑科技的开源项目:sitemap-php 自动生成网站地图

米扑科技的开源项目:sitemap-php 自动生成网站地图

网站地图sitemap.xml样式代码sitemap.xsl

如何在网站上找到sitemap.xml路径?

帝国cms怎么制作sitemap.xml和baidumap.xml网站地图

帝国cms怎么制作sitemap.xml和baidumap.xml网站地图