亚洲青青视频一区|8MAV在线观看|天天看AV天天看|中日成人手机在线|欧美激情五区六区|亚洲婷婷天堂级片|亚洲天堂网7777|欧美日韩其他另类|手机在线成人AV|成人性大片一区二区三区四区五区

284292114@qq.com 中國(guó)站
新聞中心 網(wǎng)絡(luò)推廣 網(wǎng)站建設(shè) 優(yōu)化推廣 首頁(yè)>新聞中心>網(wǎng)站建設(shè)

pbootcms生成靜態(tài)html首頁(yè)的一個(gè)簡(jiǎn)易方法

時(shí)間:2021-10-15   訪問量:0

之前做了一個(gè)PB制作的網(wǎng)站,采集數(shù)據(jù)達(dá)到一萬(wàn)五千條,此時(shí)網(wǎng)站首頁(yè)在訪問index.php的時(shí)候,需要等待至少一分鐘才能載入,相當(dāng)卡。但是其他頁(yè)面運(yùn)行還是很流暢的,即使我使用的是香港服務(wù)器,訪問速度也不差。

于是將首頁(yè)換成html頁(yè)面,訪問速度基本是秒開,再訪問其他頁(yè)面,速度也很快,這樣的體驗(yàn)效果很好。但是之前是手工制作的index.html,于是考慮有沒有簡(jiǎn)單的辦法生成index.html.

程序是有靜態(tài)緩存的,打開:  runtime     cache目錄下可以看到生成了很多不規(guī)則的html文件。其中有一個(gè)就是首頁(yè)的html,于是考慮直接讀取這個(gè)將它寫到網(wǎng)站根目錄下。


**步:一個(gè)讀取并寫入到根目錄下的PHP文件放在根目錄下。例如:html.php

內(nèi)容如下:當(dāng)然了,里面的一些東西可以改成自己的。temp_file后面的路徑地址,為什么我使用:indexphp.html,后面我會(huì)提到。

<?php
header('content-type:text/html; charset=utf-8');//防止生成的頁(yè)面亂碼
$title = "PHP 動(dòng)態(tài)生成靜態(tài)HTML頁(yè)面"; //定義變量
$url = "https://www.zuoan.com.cn/";
$temp_file = "runtime/cache/indexphp.html"; //臨時(shí)文件,也可以是模板文件
$dest_file = "index.html"; //生成的目標(biāo)頁(yè)面
$fp = fopen($temp_file, "r"); //只讀打開模板
$str = fread($fp, filesize($temp_file));//讀取模板中內(nèi)容
$str = str_replace("{penglig_site_title}", $title, $str);//替換內(nèi)容
$str = str_replace("{penglig_site_url}", $url, $str);//替換內(nèi)容
fclose($fp);
$handle = fopen($dest_file, "w"); //寫入方式打開需要寫入的文件
fwrite($handle, $str); //把剛才替換的內(nèi)容寫進(jìn)生成的HTML文件
fclose($handle);//關(guān)閉打開的文件,釋放文件指針和相關(guān)的緩沖區(qū)
echo "<script>alert('生成成功');window.location.href='".$dest_file."';</script>";
?>


第二步:就是上面說的temp_file后面的路徑地址

由于程序的緩存文件是隨機(jī)生成的,而且每隔一段時(shí)間它是發(fā)生變化的。

于是我們考慮將這個(gè)緩存文件生成的名字固定一下,不讓它隨機(jī)變化。

打開:   core     view 下面的:view.php


第153行有這樣一段代碼:

$cacheFile = $this->cachePath . '/' . md5(get_http_url() . $_SERVER["REQUEST_URI"] . $lg . $wap) . '.html'; // 緩存文件

它就是隨機(jī)生成了靜態(tài)緩存中的html頁(yè)面名字。

我們改造它一下:

 $urlname =  $_SERVER["REQUEST_URI"];  //獲取到當(dāng)前的路徑地址
 $newurl = preg_replace('/W/', '', $urlname);  //去除路徑地址中的/符號(hào),避免無(wú)法寫入到目錄     
 $cacheFile = $this->cachePath . '/' . $newurl . '.html'; //名稱和后綴合并并寫到到緩存目錄

通過這一步,當(dāng)訪問網(wǎng)站根目錄的index.php 的時(shí)候就會(huì)生成一個(gè)靜態(tài)HTML名字叫:indexphp.html到緩存目錄。也就是**步我所選擇的位置。



第三步:其實(shí)到這一步,可以通過手工生成了靜態(tài)了,訪問一個(gè)網(wǎng)站的:index.php,再訪問一下:html.php就實(shí)現(xiàn)了。但是這樣有點(diǎn)麻煩。

我們直接在后臺(tái)添加一個(gè)點(diǎn)擊生成來得方便一點(diǎn)。

后臺(tái)的原本的image.png服務(wù)器信息感覺沒什么用,就用它來制作生成首頁(yè)的按鈕吧。

打開后臺(tái)的模型文件:server.html,改成以下代碼:


{include file='common/head.html'}

<div class="layui-body">
	<div class="layui-tab layui-tab-brief" lay-filter="tab">
	  <ul class="layui-tab-title">
	    <li class="layui-this" lay-id="t1">生成靜態(tài)首頁(yè)HTML</li>
	  </ul>
	  <iframe id="iframe" src="/index.php" frameborder="0" width="100%" height="0px"></iframe>
	   <a href="/html.php" class="layui-btn layui-btn-sm layui-btn-danger">點(diǎn)擊生成首頁(yè)HTML</a>
	  
	</div>
</div>

{include file='common/foot.html'}

*后實(shí)現(xiàn)的效果就是:

image.png


此方法目錄只適合單語(yǔ)言站,并且是響應(yīng)式的網(wǎng)站,不適合多語(yǔ)言文字或者多數(shù)據(jù)區(qū)域站點(diǎn),或者獨(dú)立手機(jī)版。

多語(yǔ)言站點(diǎn)一般為企業(yè)站,數(shù)據(jù)量一般不大,所以也就沒有必要花時(shí)間去研究了。

服務(wù)咨詢
1對(duì)1咨詢,專業(yè)客服為您解疑答惑
聯(lián)系銷售
15899750475
在線咨詢
聯(lián)系在線客服,為您解答所有的疑問
ARE YOU INTERESTED IN ?
感興趣嗎?

有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理

15899750475 楊先生