PHP每15分钟自动更新网站地图(减少服务器消耗)
导读:收集整理的这篇文章主要介绍了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