天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

基于PHP生成靜態(tài)頁的實(shí)現(xiàn)方法

t1.php
復(fù)制代碼 代碼如下:
<?php
// 方法一根據(jù)模版生成靜態(tài)頁面
// replaceTemplateString函數(shù)用于替換模板中指定字符串
function replaceTemplateString($templateString) {
    // 用來替換的變量
    $title = "文章標(biāo)題";
    $body = "這里是文章主體";
    // 替換模板中指定字符串
    $showString = str_replace ( "%title%", $title, $templateString );
    $showString = str_replace ( "%body%", $body, $showString );
    // 返回替換后的結(jié)果
    return $showString;
}


$template_file = "template.html";
$new_file      = "new.html";
// 模版文件指針
$template_juBing = fopen ( $template_file, "r" );
// 要生成的文件指針
$newFile_juBing = fopen ( $new_file, "w" );

// 方式一獲取整體模板內(nèi)容字符串,替換后賦給新文件
$templateString = fread ( $template_juBing, filesize ( $template_file ) );
$showString = replaceTemplateString ( $templateString ); // 替換模板中字符串
fwrite ( $newFile_juBing, $showString ); // 將替換后的內(nèi)容寫入生成的HTML文件

/*
// 方式二循環(huán)讀取模版每行內(nèi)容字符串,替換后依次添加到新文件
while ( ! feof ( $template_juBing ) ) { // feof() 函數(shù)檢測是否已到達(dá)文件末尾。如果文件指針到了末尾或者出錯(cuò)時(shí)則返回 TRUE。否則返回FALSE(包括 socket 超時(shí)和其它情況)。
    $templateString = fgets ( $template_juBing ); // fgets(file,length) 從文件指針中讀取一行并返回長度最多為 length - 1 字節(jié)長度的字符串,包括換行符。如果沒有指定 length,則默認(rèn)為 1K,或者說 1024 字節(jié)。
    $showString = replaceTemplateString ( $templateString );
    fwrite ( $newFile_juBing, $showString ); // 第一次往打開的指針文件中寫入內(nèi)容時(shí)會替換指針文件中原有內(nèi)容,在該文件指針關(guān)閉前,fwrite函數(shù)再添加內(nèi)容會在已添加內(nèi)容之后
}
*/
// 關(guān)閉文件指針
fclose ( $newFile_juBing );
fclose ( $template_juBing );

 

/*
數(shù)據(jù)庫與靜態(tài)頁的關(guān)系
通常數(shù)據(jù)庫內(nèi)添加一條信息同后,生成一個(gè)該信息的靜態(tài)頁面,所以最好在數(shù)據(jù)庫表中添加一字段存儲對應(yīng)靜態(tài)頁面的路徑文件名,方便以后的修改,刪除

模版的替換
一般來說,如果需要修改靜態(tài)HTML頁面的模版,通常的做法是將所有的已經(jīng)生成的HTML頁面刪除,然后重新創(chuàng)建新的HTML頁面。(或者說全部重新覆蓋生成)

靜態(tài)頁上的動態(tài)操作
有些時(shí)候,在創(chuàng)建的靜態(tài)HTML頁上面也需要進(jìn)行一些動態(tài)操作。例如,新聞系統(tǒng)中的每篇新聞要統(tǒng)計(jì)點(diǎn)擊率。
可通過一個(gè)寬和高都為0像素的圖像控件來隱藏的調(diào)用一個(gè)php頁面來實(shí)現(xiàn)頁面計(jì)數(shù)器功能,如
<img width='0' height='0' src='counter.php?fileid=S001'>

鏈接目錄的靜態(tài)頁
通常對于使用靜態(tài)頁面的系統(tǒng)來說,往往將連接列表的目錄頁也生成靜態(tài)HTML文件供訪問者瀏覽
注意的是因?yàn)槊吭黾踊蛘邷p少一條數(shù)據(jù)庫信息都會對鏈接列表產(chǎn)生影響,因此,每次對數(shù)據(jù)庫信息進(jìn)行添加和刪除時(shí)都需要更新鏈接目錄的靜態(tài)頁。
分頁的設(shè)計(jì)可以通過創(chuàng)建多個(gè)鏈接目錄的靜態(tài)頁來完成。
*/


// 方法二根據(jù)緩沖區(qū)生成
ob_start (); // 當(dāng)緩沖區(qū)激活時(shí),并且有ob_end_clean()的情況下,所有輸出打印的非文件頭信息均不會輸出打印到頁面,而是保存在內(nèi)部緩沖區(qū)。如果沒有ob_end_clean(),則信息既被存在內(nèi)部緩沖區(qū),也被輸出打印
?>
this is test Output Control
<?php
echo "<br>this is test Output Control<br>";
include_once 'cache/newFile.php';

$contents = ob_get_contents (); // 獲取緩沖區(qū)到此為止存儲的信息,緩沖區(qū)只保存會向頁面瀏覽器輸出打印的內(nèi)容,php執(zhí)行代碼等不會保存
// $contents = ob_get_clean(); // 獲取緩沖區(qū)到此為止存儲的信息,并關(guān)閉清除緩沖區(qū)

// ob_end_flush();//輸出打印緩沖區(qū)到此為止存儲的信息,并關(guān)閉清除緩沖區(qū)

ob_end_clean (); // 關(guān)閉清除緩沖區(qū)的內(nèi)容

file_put_contents ( $new_file, $contents );// 向文件寫入內(nèi)容

?>

template.html
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>%title%</title>
</head>
<body>
<H1>%title%</H1>
<hr>
<pre>%body%</pre>
</body>
</html>

php技術(shù)基于PHP生成靜態(tài)頁的實(shí)現(xiàn)方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久是热频国产在线 | 婷婷激情综合色五月久久竹菊影视 | 1300部真实小Y女视频合集 | 嘟嘟嘟在线视频免费观看高清中文 | 色www精品视频在线观看 | 免费观看成人www精品视频在线 | 蜜桃狠狠色伊人亚洲综合网站 | 皮皮在线精品亚洲 | 国产精品A8198V久久A片 | 男女疯狂一边摸一边做羞羞视频 | 国内自拍 在线 亚洲 欧美 | 男生J桶进女人P又色又爽又黄 | 蜜臀久久99精品久久久久久做爰 | 飘雪韩国在线观看免费高清完整版 | 久久这里有精品 | 最近中文字幕MV高清在线视频 | 久久午夜夜伦鲁鲁片无码免费 | 一个人看的HD免费高清视频 | chinese耄耋70老太性 | 国产成人综合在线观看网站 | 国内精品久久久久影院亚洲 | 好男人好资源在线播放 | 嫩草国产福利视频一区二区 | 欧美特级特黄AAAAA片 | 俄罗斯mm | 黑色丝袜美腿美女被躁翻了 | 麻豆国产MV视频 | 欧美大香线蕉线伊人久久 | 国产精品自在在线午夜蜜芽tv在线 | 日韩精品无码久久一区二区三 | 午夜神器18以下不能进免费 | 亚洲视频免费观看 | 国产亚洲精品欧洲在线视频 | 亚洲人成77777 | 精品亚洲永久免费精品 | 999精品影视在线观看 | 两个奶头被吃得又翘又痛 | 免费果冻传媒在线完整观看 | 免费国产久久啪久久爱 | 亚洲一级毛片免费在线观看 | 2019午夜福利757视频第12集 |