php 实现时时更新地图,PHP实现隔15分钟自动更新网站地图功能
PHP實現隔15分鐘自動更新網站地圖功能
發布時間:2020-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']."";
}
?>
2017? <?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分钟自动更新网站地图功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmf php,cmf公共函数解析-co
- 下一篇: php中显示不出图像,php – 无法显