利用php的ob_start來生成靜態(tài)頁(yè)面的方法
雖然方法很多,但使用起來簡(jiǎn)便容易的,我覺得還是先判斷已經(jīng)生成的首頁(yè)文件的生成時(shí)間和現(xiàn)有時(shí)間之間的差值,如果滿足某個(gè)值就開始生成,這種方法比較來得容易,不多說了,開始吧!
在開始之前還是提一下三個(gè)函數(shù)吧:'ob_start()、ob_end_clean()、ob_get_contents()'
ob_start():是打開緩沖區(qū)的,就是要把您需要生成的靜態(tài)文件的內(nèi)容緩存在這里;ob_get_contents():是讀出緩沖區(qū)里的內(nèi)容,下面有代碼為例;ob_end_clean():這個(gè)比較重要,只有使用了這個(gè)函數(shù)后,緩沖區(qū)里的內(nèi)容才會(huì)讀取出來;復(fù)制內(nèi)容到剪貼板代碼:
if(file_exists('./index.htm'))//看靜態(tài)index.htm文件是否存在{$time=time(); //文件修改時(shí)間和現(xiàn)在時(shí)間相差?的話,直接導(dǎo)向htm文件,否則重新生成htmif($time-filemtime('./index.htm')< 600){header('Location:classhtml/main.htm'); }}
//在你的開始處加入ob_start();CHINAZ
//首頁(yè)內(nèi)容,就是你的動(dòng)態(tài)部分了
//在結(jié)尾加入ob_end_clean(),并把本頁(yè)輸出到一個(gè)變量中$temp=ob_get_contents();ob_end_clean();
//寫入文件$fp=fopen('./index.htm','w');fwrite($fp,$temp) or die('寫文件錯(cuò)誤');//echo'生成HTML完成!';
