首页后端开发PHPPHP每15分钟自动更新网站地图(减少服务器消耗)

PHP每15分钟自动更新网站地图(减少服务器消耗)

时间2024-02-01 23:24:03发布访客分类PHP浏览766
导读:收集整理的这篇文章主要介绍了PHP每15分钟自动更新网站地图(减少服务器消耗),觉得挺不错的,现在分享给大家,也给大家做个参考。最近在弄一个短网址,自己写的代码。锻炼一下自己。在做htML网站地图这块,想着把所有生成的短连接都展示出来,方便...
收集整理的这篇文章主要介绍了PHP每15分钟自动更新网站地图(减少服务器消耗),觉得挺不错的,现在分享给大家,也给大家做个参考。最近在弄一个短网址,自己写的代码。锻炼一下自己。在做htML网站地图这块,想着把所有生成的短连接都展示出来,方便收录。就写了一个sITemap.php,后来发现,如果以后人流量大或者数据过多的话,服务器负担就会特别重,假如有10w条数据,每个人访问的时候都会从数据库索引这10w条数据,一秒钟有100个人访问,服务器根本负担不过来。然后就萌生了生成HTML地图这个想法。

由于学艺不精,可能思路上有些不对的。希望有更好思路能够批评指正!

原理:

需要三个文件:

  • sitemap.html (这个文件为系统自动生成,sitemap.php的克隆版)

  • sitemap.php (主要页面,决定页面的样式等,完全=sitemap.html)

  • timeSitemap.php (为更新程序,生成html页面。可在监控宝设置监控。)

sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.php文件,实现每15分钟生成网站地图,当然,频率是按照监控宝的监控频率来决定,如果地图生成失败,会返回404,监控宝会报警。sitemap.XMl同理

下面共享代码(用使用的MySQL查询等类为自己简单封装的数据库类,这里就不展示了):

sitemap.php

?php/*@   sitemap html版地图*/// 引入数据库操作类require_once 'c/class.class.php';
    // 引入系统参数$config = require 'c/config.php';
    ?>
    html>
    head>
    meta charset="utf-8">
    meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    title>
    网站地图 - ?php echo $config['web_title'];
     ?>
    /title>
    meta name="keywords" content="?php echo $config['web_keywords'];
    ?>
    ">
    meta name="description" content="?php echo $config['web_description'];
     ?>
    ">
    link href="?php //echo $config['web_url'];
    ?>
    /css/bootstrap.min.css" rel='stylesheet' tyPE='text/css'>
    !--link href="?php //echo $config['web_url'];
    ?>
    /css/style.css" rel='stylesheet' type='text/css'>
    link href="?php //echo $config['web_url'];
    ?>
    /css/media.css" rel='stylesheet' type='text/css'>
    script src="?php //echo $config['web_url'];
    ?>
    /css/jquery-3.1.1.min.js">
    /script>
    -->
    link type="favicon" rel="shortcut icon" href="?php //echo $config['web_url'];
    ?>
    /favicon.ico" />
    link type="favicon" rel="icon" href="?php //echo $config['web_url'];
    ?>
    /favicon.ico" />
    style>
.table tr {
    text-align: center;
}
a {
    display: inline-block;
    padding: 10px;
}
    /style>
    /head>
    body>
    !--先提示-->
    ?php// !-- 取出所有短网址 -->
    $cons = new con();
    $consSQL = "select * From urls order by id desc";
    $consQuery = $cons->
    query($consSql);
    // >
    >
     总数量$consNum = mysql_num_rows($consQuery);
    ?>
    div class="container">
    !--table class="table table-striped table-bordered table-hover table-condensed">
    -->
    hr>
    div style='text-align:center;
    height:35px;
    line-height:35px;
    font-weight:bold;
    '>
    共?php echo $consNum;
     ?>
    条数据/div>
    div style='text-align:center;
    '>
    本页面每15分钟更新一次/div>
    /hr>
    本站链接:a href="http://bba.fun">
    bba.fun短网址/a>
    a href="http://bba.fun/page/api">
    api接口/a>
    a href="http://bba.fun/sitemap.html">
    网站地图/a>
    br>
    生成链接:br>
    ?php// >
    >
     显示总数量echo "";
    // >
    >
 开始循环取出while($rows = mysql_fetch_array($consQuery)){
echo "a href='{
$rows['short_url']}
    ' target='_blank' rel='external nofollow'>
    ".$rows['short_url']."/a>
    ";
}
    ?>
    !--/table>
    -->
    div style='text-align:center;
    height:35px;
    line-height:35px;
    font-weight:bold;
    '>
    2017© a href="?php echo $config['web_url'];
    ?>
    ">
    ?php echo $config['web_title'];
     ?>
    /a>
    /div>
    hr>
    /div>
    /body>
    /html>
    

timeSitemap.php

?php/*@   定时更新网站地图*/// 定义获取的url$url = "http://bba.fun/sitemap.php";
    // 定网站地图名字$name = "sitemap.html";
    // 获取源码$html = file_get_contents($url);
    // 写入html$write = file_put_contents($name,$html);
if($write){
    header("HTTP/1.1 200");
}
else {
    header("HTTP/1.1 404");
}
    ?>
    

以上就是PHP每15分钟自动更新网站地图(减少服务器消耗)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP每15分钟自动更新网站地图(减少服务器消耗)
本文地址: https://pptw.com/jishu/596056.html
php.ini配置中有3处设置不当会使网站存在安全问题 php实现获取数组中相同/不相同的元素

游客 回复需填写必要信息