它只讓你修改頁面的某一部分,當然這「某一部分」是由你來確定的。美工先做好乙個頁面,然後我們把這個頁面當作模板(要注意的是這個模板就沒必要使用editregion3這樣的**了,這種**是dreamwerver為了方便自己設計而弄的標識),把這個模板中我們需要改變的地方用乙個與html可以區分的字元代替,如「」、「[title]」。在生成靜態頁面的時候只需要把資料和這些字串替換即可。這就是模板的含義了。
新建乙個php頁面和乙個html頁面[模板頁];注:如果是從資料庫呼叫資料,則將資料以陣列的形式儲存,然後迴圈生成;
在php頁面,開啟html頁面->讀取html頁面的內容->替換引數->新建(開啟)乙個新的html頁面->將替換的內容寫入新檔案中->關閉新檔案->生成成功;
$open = fopen("template.htm","r"); //開啟模板檔案
$content = fread($open,filesize("template.htm")); //
讀取模板檔案內容
//print_r($content);
$content = str_replace("","測試標題",$content);//
替換$content = str_replace("","測試內容",$content
);$newtemp = fopen("1.htm","w");//
生成,用寫入方式開啟乙個不存在(新)的頁面
fwrite($newtemp,$content);//
將剛剛替換的內容寫入新檔案中
fclose($newtemp
);echo "生成";
php批量生成html測試:
//假設從資料庫中調的資料存放在二維陣列$arr中
$arr = array(array("新聞標題一","新聞內容一"),array("新聞標題二","新聞內容二"));
foreach($arr
as$key=>$value
)",$title,$handle);//
替換$content = str_replace("",$contents,$handle);
$newtemp = fopen($path,"w");//
用寫入方式開啟乙個不存在(新)的頁面
fwrite($newtemp,$content);//
將剛剛替換的內容寫入新檔案中
fclose($newtemp);
echo "生成";
}
分頁問題:
$fp= fopen ("temp.html","r");$content= fread ($fp,filesize ("temp.html"));
$onepage= 』20』;
$sql = "select id from article where channel=』$channelid』";
$query = mysql_query ($sql
);$num = mysql_num_rows ($query
);$allpages= ceil ($num / $onepage
);for ($i = 0;$i
<$allpages; $i++)
else
$start = $i * $onepage
;
$list =』』;
$sql_for_page = "select name,filename,title from article where channel=』$channelid』 limit $start,$onepage";
$query_for_page = mysql_query ($sql_for_page
);
while ($result = $query_for_page
)
$content = str_replace ("",$list,$content
);
if(is_file ($indexpath
))
$handle = fopen ($indexpath,"w"); //
開啟檔案指標,建立檔案
if (!is_writable ($indexpath
))
if (!fwrite ($handle,$content))
fclose ($handle); //
關閉指標
}fclose ($fp
);die ("生成分頁檔案完成,如生成不完全,請檢查檔案許可權系統後重新生成!");
採用html模板生成靜態網頁
利用自己已有的xml配置讀取和格式化資料的功能,採用自定義標籤實現 頁面html模板生成靜態網頁。自定義標籤如下 表名.記錄索引.欄位名 例如 t.0.id 表示t表的第一行的id欄位的值 repeat row 表名 行重複內容 repeat row 表名 例如 repeat row t 表示此處迴...
採用html模板生成靜態網頁
利用自己已有的xml配置讀取和格式化資料的功能,採用自定義標籤實現 頁面html模板生成靜態網頁。自定義標籤如下 表名.記錄索引.欄位名 例如 t.0.id 表示t表的第一行的id欄位的值 repeat row 表名 行重複內容 repeat row 表名 例如 repeat row t 表示此處迴...
ASP 根據模板生成HTML靜態檔案類
asp 根據模板生成html靜態檔案類 使用範例 dim tpl set tpl new template tpl.settplpath template footer.tpl tpl.settags array tpl.setnotes array 替換內容 tpl.setstoref html ...