php處理靜態(tài)頁(yè)面:頁(yè)面設(shè)置緩存時(shí)間實(shí)例
通過(guò)PHP去生成一個(gè)純靜態(tài)的頁(yè)面:http://www.dbjr.com.cn/article/116814.htm
問(wèn):如何觸發(fā)系統(tǒng)生成純靜態(tài)化頁(yè)面?
1.頁(yè)面添加緩存時(shí)間
2.手動(dòng)觸發(fā)的方式
3.crontab定時(shí)掃描程序
我們來(lái)實(shí)現(xiàn)方案一:頁(yè)面添加緩存時(shí)間
用戶(hù)請(qǐng)求頁(yè)面 => 頁(yè)面是否過(guò)期 => => 否(獲取靜態(tài)頁(yè)面) || =>是(動(dòng)態(tài)頁(yè)面生成一份新的靜態(tài)頁(yè)面)
if( 如果存在這個(gè)靜態(tài)文件 && 沒(méi)有過(guò)期){ // 獲取頁(yè)面 }else{ // 重新生成一份靜態(tài)頁(yè)面 }
ok,基本邏輯就是如此,下面我們完善代碼:
<?php if(is_file('./index.html') && (time()-filemtime('./index.html')) < 60){ // 假設(shè)緩存時(shí)間是60秒 // 獲取頁(yè)面 require_once('./index.html'); }else{ // 重新生成一份靜態(tài)頁(yè)面 // 準(zhǔn)備要展示到網(wǎng)頁(yè)的數(shù)據(jù) $data = array( array('id'=>1,'msg'=>'hello java'), array('id'=>2,'msg'=>'hello php'), array('id'=>3,'msg'=>'hello python'), ); // 渲染到模板 // 實(shí)際項(xiàng)目一般是在html里渲染 // 這里演示 希望能看懂 ob_start(); // 開(kāi)始輸入緩沖控制 foreach($data as $item){ echo $item['id'].'===>'.$item['msg'].'<br/>'; } // 開(kāi)始生成靜態(tài)頁(yè)面文件 file_put_contents('index.html',ob_get_contents()); }
這樣我們?cè)L問(wèn)index.php,如果靜態(tài)文件緩存沒(méi)有過(guò)期,其實(shí)質(zhì)訪問(wèn)的內(nèi)容來(lái)自index.html這個(gè)靜態(tài)文件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一個(gè)php Mysql類(lèi) 可以參考學(xué)習(xí)熟悉下
慢慢研究吧,非常適合學(xué)習(xí)的php數(shù)據(jù)庫(kù)(mysql)類(lèi),也可以拿來(lái)直接就用,稍微熟悉一下就可以啦!2009-06-06基于laravel-admin 后臺(tái) 列表標(biāo)簽背景的使用方法
今天小編就為大家分享一篇基于laravel-admin 后臺(tái) 列表標(biāo)簽背景的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10CodeIgniter框架實(shí)現(xiàn)的整合Smarty引擎DEMO示例
這篇文章主要介紹了CodeIgniter框架實(shí)現(xiàn)的整合Smarty引擎DEMO,結(jié)合實(shí)例形式分析了CodeIgniter框架整合Smarty引擎的原理、操作步驟及相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-03-03Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法示例
這篇文章主要介紹了Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法,結(jié)合實(shí)例形式分析了thinkPHP5框架視圖view中的volist標(biāo)簽、foreach標(biāo)簽、for標(biāo)簽相關(guān)使用方法,需要的朋友可以參考下2019-10-10mysql alter table命令修改表結(jié)構(gòu)實(shí)例詳解
這篇文章主要介紹了mysql alter table命令修改表結(jié)構(gòu)實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-09-09