php 实现时时更新地图,PHP实现隔15分钟自动更新网站地图功能
PHP實現(xiàn)隔15分鐘自動更新網(wǎng)站地圖功能
發(fā)布時間:2020-05-22 14:36:46
來源:億速云
閱讀:168
作者:鴿子
最近在弄一個短網(wǎng)址,自己寫的代碼。鍛煉一下自己。在做html網(wǎng)站地圖這塊,想著把所有生成的短連接都展示出來,方便收錄。就寫了一個sitemap.php,后來發(fā)現(xiàn),如果以后人流量大或者數(shù)據(jù)過多的話,服務(wù)器負(fù)擔(dān)就會特別重,假如有10w條數(shù)據(jù),每個人訪問的時候都會從數(shù)據(jù)庫索引這10w條數(shù)據(jù),一秒鐘有100個人訪問,服務(wù)器根本負(fù)擔(dān)不過來。然后就萌生了生成html地圖這個想法。
原理:
需要三個文件:sitemap.html (這個文件為系統(tǒng)自動生成,sitemap.php的克隆版)
sitemap.php (主要頁面,決定頁面的樣式等,完全=sitemap.html)
timeSitemap.php (為更新程序,生成html頁面??稍诒O(jiān)控寶設(shè)置監(jiān)控。)
sitemap.php為頁面文件,sitemap.html為sitemap.php的克隆版,監(jiān)控寶設(shè)置定時監(jiān)控timeSitemap.php文件,實現(xiàn)每15分鐘生成網(wǎng)站地圖,當(dāng)然,頻率是按照監(jiān)控寶的監(jiān)控頻率來決定,如果地圖生成失敗,會返回404,監(jiān)控寶會報警。sitemap.xml同理
下面共享代碼(用使用的mysql查詢等類為自己簡單封裝的數(shù)據(jù)庫類,這里就不展示了):
sitemap.php<?php
/*
@ sitemap html版地圖
*/
// 引入數(shù)據(jù)庫操作類
require_once 'c/class.class.php';
// 引入系統(tǒng)參數(shù)
$config = require 'c/config.php';
?>
網(wǎng)站地圖 - <?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);
// >> 總數(shù)量
$consNum = mysql_num_rows($consQuery);
?>
共<?php echo $consNum; ?>條數(shù)據(jù)
本頁面每15分鐘更新一次本站鏈接:bba.fun短網(wǎng)址api接口網(wǎng)站地圖
生成鏈接:
// >> 顯示總數(shù)量
echo "";
// >> 開始循環(huán)取出
while($rows = mysql_fetch_array($consQuery)){
echo "".$rows['short_url']."";
}
?>
2017? <?php echo $config['web_title']; ?>timeSitemap.php<?php
/*
@ 定時更新網(wǎng)站地圖
*/
// 定義獲取的url
$url = "http://bba.fun/sitemap.php";
// 定網(wǎng)站地圖名字
$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");
}
?>
總結(jié)
以上是生活随笔為你收集整理的php 实现时时更新地图,PHP实现隔15分钟自动更新网站地图功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmf php,cmf公共函数解析-co
- 下一篇: 动态规划算法php,php算法学习之动态