也用PHP來實(shí)現(xiàn)網(wǎng)頁靜態(tài)發(fā)布的兩種方法_PHP教程
推薦:PHP實(shí)用手冊:PHP常用正則表達(dá)式收集匹配中文字符的正則表達(dá)式: [u4e00-u9fa5] 評注:匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了 匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff] 評注:可以用來計(jì)算字符串的長度(一個(gè)
如今很多網(wǎng)站都是靜態(tài)發(fā)布的,PHP當(dāng)然也可以方便的實(shí)現(xiàn)靜態(tài)發(fā)布嘍,具體的實(shí)現(xiàn)方法很多,下面我就說說我會(huì)的兩種方法。
方法一:ob_get_contents()
這是一種很方便的方法,也是很常用的方法,實(shí)現(xiàn)原理是:首先打開緩存,然后創(chuàng)建相應(yīng)的靜態(tài)頁文件,寫入緩存的內(nèi)容,清空緩存。
示例:
| <?php ob_strart();#打開緩沖區(qū) $fn=date('ymdhis').rand(1000,9999).'html';//生成文件名 require("supply.php");#載入要生成靜態(tài)頁的文件,因?yàn)楹笈_(tái)有ob_clen()所以在不會(huì)顯示出來 $fs=fopen($fn,'w');#打開靜態(tài)頁文件 fwrite($fs,ob_get_contents());#生成靜態(tài)文件 ob_clean();#清空緩存 ?> |
方法二:file_get_contents();
| <?php $fn=date('ymdhis').rand(1000,9999).'html'; $url= 'http://'.$_SERVER['HTTP_HOST']."/";#注意 $content=file_get_contents($url); $fs=fopen($fn,'w'); fwrite($fs,$content); ?> |
下面對上面的注意進(jìn)行一下解釋,如果在些你使用的是僅僅是文件名,而不是URL那么您這個(gè)文件中如果有使用引用文件比如require
('header.php');那么header.php中的內(nèi)容將會(huì)顯示不出來。
方法三:str_replace()
| <?php $filemodel="supply.php"; 字串5$file=fopen($filemodel,"w "); $temp=fread($file,filesize($filemodel)); $temp=str_replace("[title]",$title,$temp); $temp=str_replace("[postTime]",$postTime,$temp); $temp=str_replace("[content]",$content,$temp); ?> |
該方法適用于很簡單的頁面,如果supply.php中有使用引用文件比如require('header.php');那么header.php中的內(nèi)容將會(huì)顯示不出來
我僅僅是給出了最簡單的方法,在實(shí)際應(yīng)用中,您可以寫一個(gè)生成靜態(tài)頁的類,在類中加入相應(yīng)的異常處理,該文件僅僅給出一個(gè)示例。
分享:PHP經(jīng)驗(yàn)交流:php訪問access的方法php訪問mysql的方法,地球人都知道,不過訪問access就麻煩點(diǎn),今天我們一起也來學(xué)習(xí)下吧,因?yàn)樵趯?shí)際應(yīng)用中也會(huì)要用到。在虛擬目錄下訪問需要轉(zhuǎn)化下數(shù)據(jù)庫文件所在的路徑。這里采用ADODB庫作為
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- php curl選項(xiàng)列表(超詳細(xì))
- 將Oracle內(nèi)置的安全特性用于php
- 淺析Dos下運(yùn)行php.exe,出現(xiàn)沒有找到php_mbstring.dll 錯(cuò)誤的解決方法
- 獲取PHP警告錯(cuò)誤信息的解決方法
- Smarty foreach控制循環(huán)次數(shù)的實(shí)現(xiàn)詳解
- 基于php socket(fsockopen)的應(yīng)用實(shí)例分析
- PHP錯(cuò)誤:Forbidden You don't have permission to access / on this server
- CI鏈接操作多個(gè)數(shù)據(jù)庫
- 用PHP實(shí)現(xiàn)瀏覽器點(diǎn)擊下載TXT文檔的方法詳解
- php對gb編碼動(dòng)態(tài)轉(zhuǎn)utf-8編碼的幾種方法評測
- 相關(guān)鏈接:
- 教程說明:
PHP教程-也用PHP來實(shí)現(xiàn)網(wǎng)頁靜態(tài)發(fā)布的兩種方法
。