失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php 实现时时更新地图 PHP实现隔15分钟自动更新网站地图功能

php 实现时时更新地图 PHP实现隔15分钟自动更新网站地图功能

时间:2020-04-27 05:47:58

相关推荐

php 实现时时更新地图 PHP实现隔15分钟自动更新网站地图功能

PHP实现隔15分钟自动更新网站地图功能

发布时间:-05-22 14:36:46

来源:亿速云

阅读:168

作者:鸽子

最近在弄一个短网址,自己写的代码。锻炼一下自己。在做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';

?>

网站地图 - <?php echo $config['web_title']; ?>

.table tr {

text-align: center;

}

a {

display: inline-block;

padding: 10px;

}

//

$cons = new con();

$consSql = "select * from urls order by id desc";

$consQuery = $cons->query($consSql);

// >> 总数量

$consNum = mysql_num_rows($consQuery);

?>

共<?php echo $consNum; ?>条数据

本页面每15分钟更新一次

本站链接:bba.fun短网址api接口网站地图

生成链接:

// >> 显示总数量

echo "";

// >> 开始循环取出

while($rows = mysql_fetch_array($consQuery)){

echo "".$rows['short_url']."";

}

?>

© <?php echo $config['web_title']; ?>

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 实现时时更新地图 PHP实现隔15分钟自动更新网站地图功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。