Php 產生靜態html檔案
來源:互聯網
上載者:User
靜態 總結有如下三種方法
1,下面使用模版的一個方法!
<?php
$fp = fopen ("templets.html","a");
if ($fp){
$fup = fread ($fp,filesize("templets.html"));
$fp2 = fopen ("html.shtml","w");
if ($fwrite ($fp2,$fup)){
$fclose ($fp);
$fcolse ($fp2);
die ("寫入模板成功");
} else {
fclose ($fp);
die ("寫入模板失敗!");
}
}
?>
簡單的將模板寫進一個檔案中存為html.html
2,按時間產生html檔案名稱
<?
$content = "這是一個以日期時間為檔案名稱的靜態產生網頁的測試檔案,檔案名稱格式一般為<font color=#ff0000>年月日時分秒.html</font>";
$date = date('YmdHis');
$fp = fopen (date('YmdHis') . '.html',"w");//本函數可用來開啟本地或者遠端的檔案 'w' 開檔案方式為寫入,檔案指標指到開始處,並將原檔案的長度設為 0。若檔案不存在,則建立新檔案。
if (fwrite ($fp,$content)){//格式是.int fwrite(int fp(檔案名稱), string string(內容), int [length](長度));本函數將字串 string 寫入檔案資料流的指標 fp 上。若有指定長度 length,則會寫入指定長度字串,或是寫到字串結束。
fclose ($fp);//函數用來關閉已經開啟的檔案的指標 fp。成功返回 true,失敗則返回 false。
die ("寫入模板成功");
} else {
fclose ($fp);
die ("寫入模板失敗!");
}
echo ($content);
?>
3,下面為轉換檔名的一個方法
<?php
$s_fname = "93e.php";
$o_fname = "93e.htm";
ob_end_clean();
ob_start();
include($s_fname);
$length = ob_get_length();
$buffer = ob_get_contents();
$buffer = eregi_replace("r","",$buffer);
ob_end_clean();
$fp = fopen($o_fname,"w+");
fwrite($fp,$buffer);
fclose($fp);
?>
這樣就可以把
93e.php轉化為靜態HTML檔案了
要注意的是待轉換的檔案裡不能有
ob_end_clean();和 ob_start();語句。
且目錄要有寫入權限。