php頁面靜態化技術;學習筆記
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>demo</title> </head> <body> <p style="color: #ff9000;">%demo%</p> </body> </html>
這是需要替換的頁面
PHP頁面的靜態化很有必要,尤其是在CMS系統中,一些內容一旦生成,基本上不會有變化,這時如果用html將頁面靜態化,無疑會減少服務其解析PHP頁面的負擔。以下是看書學來的PHP靜態化技術,記錄之以備不時之需。
無論是利用框架還是簡單的指令碼,原理基本一致:就是利用PHP進行檔案操作,替換html模板中的動態元素,不僅能提高使用者的訪問速度還能讓php與html分離,使程式碼更具有維護性。
用到的檔案操作函式:
fopen() ——————– 開啟一個檔案 函式有兩個引數: 1.開啟檔案的路徑和檔名 2.開啟檔案所用的模式(字串形式) 這裡用到了r 和 w r代表只讀 w代表只寫
feof() ——————– 讀取檔案直到檔案末尾 這個函式會在讀取到檔案的末尾返回true 那麼就可以用while知道何時讀完檔案;函式有一個引數,1.開啟的檔案指標
fwiter() ——————– 寫入檔案內容,函式有三個引數:1.寫入的檔名稱 2.寫入的內容 3.(可選) 寫入的最大字元數
fclose() ———————— 關閉檔案;一般做完所有操作後必須關閉檔案;
注意事項: 需要注意檔案的路徑;以及讀取檔案所需要的許可權 ;
php程式碼:
<?php header("Content-type:text/html,charset=utf-8"); /******php靜態化*******/ class textHtml{ public function fwriteHtml($r){ /*php頁面靜態化技術 *$r [array]; *route=>生成檔名稱及路徑 *html=>需要讀取的靜態資源 *stsyem=>要替換的標籤 *content=>標籤替換的內容 * */ $cfill = fopen($r["html"],"r");//讀取的檔名 $cfillnew = fopen($r["route"],"w"); while(!feof($cfill)){ $row = fgets($cfill);
$res = str_replace($r["stsyem"],$r["content"],$row); //替換內容
fwrite($cfillnew,$res);//寫入html檔案 } /*關閉檔案*/ fclose($cfill); fclose($cfillnew); } } $f = new textHtml; $fillname = microtime().".html"; $content = "這是一個頁面靜態化技術"; $r["route"] = $fillname; $r["html"] = "index.html"; $r["stsyem"] = "%demo%"; $r["content"] = $content; $f->fwriteHtml($r); ?>
最後得到的結果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>全國城市三級聯動</title> </head> <body> <p style="color: #ff9000;">這是一個頁面靜態化技術</p> </body> </html>
利用php靜態化技術可以更好的實現網頁功能 ; 在建立文章或者一些不經常改變內容中都可以用到;
========================================================
轉載請註明出處。
相關文章
- 頁面靜態化技術演進
- PHP 實現頁面靜態化PHP
- Xamarin 學習筆記 - Page(頁面)筆記
- 飛機的 PHP 學習筆記十:應用技術PHP筆記
- PHP 手冊 (類與物件) 學習筆記九:Static(靜態)關鍵字PHP物件筆記
- Laravel頁面靜態化最佳實踐Laravel
- 飛機的 PHP 學習筆記之應用技術篇PHP筆記
- PHP 學習筆記PHP筆記
- Nginx 部署靜態頁面Nginx
- 靜態頁面是啥
- JAVA核心技術學習筆記--反射Java筆記反射
- SpringMVC學習筆記9-靜態資源對映SpringMVC筆記
- L01 學習筆記--構建頁面筆記
- 用typescript寫靜態頁面TypeScript
- Laravel diary_靜態頁面Laravel
- LLM學習筆記-長度外推技術筆記
- [CTF/Web] PHP 反序列化學習筆記WebPHP筆記
- 學成線上專案總結 - Day4 頁面靜態化
- Java程式設計思想學習筆記4 - 序列化技術Java程式設計筆記
- 《PHP學習筆記——PHP基本語法》PHP筆記
- 人工智慧:原理與技術 學習筆記人工智慧筆記
- 靜態頁面佈局例項
- 構建靜態頁面 之 [ 列表 ]
- 構建靜態頁面 之 [ 表格 ]
- PHP 反序列化漏洞入門學習筆記PHP筆記
- 南京大學 靜態軟體分析(static program analyzes)-- introduction 學習筆記筆記
- Django2學習筆記--引用本地靜態檔案css,js等Django筆記CSSJS
- 十五章 CI框架學習筆記(二)載入靜態內容框架筆記
- php設計模式學習筆記PHP設計模式筆記
- PHP 資料加密 (學習筆記)PHP加密筆記
- 產品幾何技術規範 學習筆記筆記
- 構建靜態頁面 之 [ 表單 ]
- 1.9 靜態頁面佈局例項
- 【靜態頁面架構】CSS之列表架構CSS
- 【靜態頁面架構】CSS之表格架構CSS
- 前端靜態頁面快速迭代工具前端
- Spring Boot返回靜態錯誤頁面Spring Boot
- 前端靜態頁面問題彙總前端
- Webpack4 學習筆記六 多頁面配置和devtoolWeb筆記dev