產生HTML檔案有很多好處,比如減輕伺服器和資料庫的壓力,以及搜尋引擎對單個檔案的收錄等。
在我看來,產生HTML檔案的原理也很簡單,就是通過fwrite()函數將寫好的檔案寫成HTML形式的檔案即可,只是過程中的細節需要準確把握。
PHP的部分操作函數:(這些函數主要是對檔案的操作)
Fopen(路徑和檔案名稱,開啟檔案);
該函數的作用是開啟指定路徑下的檔案,常用的開啟檔案有三種,R為唯讀,W為寫入,A為讀寫。
Fread(開啟的檔案,結束位置);
該函數的作用是讀取檔案中指定的一段內容,從檔案開始到結束位置的內容。
Filesize(路徑和檔案名稱);
作用是讀取檔案大小,得到的檔案大小的單位是以位元組為單位的。
Fwrite(路徑和檔案名稱,寫入的內容);
寫入檔案內容,函數中第二個參數可以是直接的內容,如“這裡是PHP”,也可以是變數。
PHP中的一些與刪除有關的函數:
Unlink(路徑和檔案名稱);
作用是刪除路徑下的檔案。
Mkdir(路徑和目錄名);
作用是刪除指定的目錄。
例如:
要刪除0.html,程式如下:
<?php
Unlink(‘0.html’) ;
Mkdir(‘C:/Program Files/EasyPHP1-8/www/php100/15’) ;
?>
下面是自己寫的一個用php調用模版產生HTML頁面的程式:
-------------createphp.php------------
<?php
$array = array(array('這裡是標題','這裡是內容'),array('這裡又是一個標題','這裡又是一個內容')) ;//這裡的數組可以是從資料庫中查詢得到的內容,也可以是像現在這樣的直接賦值的數組。
//對每一個資料元素做以下處理
foreach($array as $id=>$val){
$title = $val[0] ;
$content = $val[1] ;
$path = $id.'.htm' ;//以當前操作的檔案的id作為後面要產生的HTML檔案的名稱
$fp = fopen("php.html","r") ;//以唯讀方式開啟模版
$str = fread($fp,filesize("php.html")) ;將模版頁面內容讀入字串$str中
$str = str_replace("{title}",$title,$str) ;
$str = str_replace("{content}",$content,$str) ;
fclose($fp) ;//替換模版中需要替換的內容,完成後關閉即可
$handle = fopen($path,"w") ;//開啟將要產生的檔案
fwrite($handle,$str) ;//將替換後的模版內容寫入新頁面中,即產生新的HTML頁面
fclose($handle) ;//關閉
}
echo "產生成功" ;
?>