用PHP生成靜態(tài)HTML速度快類庫
更新時間:2007年03月18日 00:00:00 作者:
用PHP生成靜態(tài)HTML的代碼,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
ob_start();#開啟服務(wù)器緩存
include_once 'Index.php';
$ctx=ob_get_contents();# 獲取緩存
ob_end_clean();#清空緩存
$fh=fopen("index.html","w+");
fwrite($fh,$ctx);# 寫入html,生成html
fclose($fh);
1、Flush:刷新緩沖區(qū)的內(nèi)容,輸出。
函數(shù)格式:flush()
說明:這個函數(shù)經(jīng)常使用,效率很高。
2、ob_start :打開輸出緩沖區(qū)
函數(shù)格式:void ob_start(void)
說明:當(dāng)緩沖區(qū)激活時,所有來自PHP程序的非文件頭信息均不會發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。
3 、ob_get_contents :返回內(nèi)部緩沖區(qū)的內(nèi)容。
使用
函數(shù)格式:string ob_get_contents(void)
說明:這個函數(shù)會返回當(dāng)前緩沖區(qū)中的內(nèi)容,如果輸出緩沖區(qū)沒有激活,則返回 FALSE 。
4、 ob_get_length:返回內(nèi)部緩沖區(qū)的長度。
使用方法:int ob_get_length(void)
說明:這個函數(shù)會返回當(dāng)前緩沖區(qū)中的長度;和ob_get_contents一樣,如果輸出緩沖區(qū)沒有激活。則返回 FALSE。
5、ob_end_flush :發(fā)送內(nèi)部緩沖區(qū)的內(nèi)容到瀏覽器,并且關(guān)閉輸出緩沖區(qū)。
使用方法:void ob_end_flush(void)
說明:這個函數(shù)發(fā)送輸出緩沖區(qū)的內(nèi)容(如果有的話)。
6、ob_end_clean:刪除內(nèi)部緩沖區(qū)的內(nèi)容,并且關(guān)閉內(nèi)部緩沖區(qū)
使用方法:void ob_end_clean(void)
說明:這個函數(shù)不會輸出內(nèi)部緩沖區(qū)的內(nèi)容而是把它刪除!
7、ob_implicit_flush:打開或關(guān)閉絕對刷新
使用方法:void ob_implicit_flush ([int flag])
復(fù)制代碼 代碼如下:
<?php
///////////////////////////////////////////////////////////////////////////////
//
// 張樹林 - 慧佳工作室
//
// Module Name: woods-bhtml.php
// Abstract: 生成靜態(tài)HTML處理程序尾底
// Version: 2.0
// Date 1006-11-25
// Author: woods·zhang
// Website: http://www.hoojar.com/
// Email: hoojar@53.com
// MSN: hoojar@hotmail.com
// Copyright 1001-1006, Hoojar studio All Rights Reserved
//
// 版權(quán) 1001-1006,慧佳工作室所有版權(quán)保護
//The software for free software, allowing use, copy,
//modify and distribute the software and files. Any
//use of this software must place a copy of all the
//above copyright notice. By the software Huijia studio
//maintenance, if you have any queries please contact us.
//Thank you.
//
//此軟件為自由軟件,允許使用、拷貝、修改、分發(fā)本軟件及其文檔。
//任何使用此軟件的地方都得出現(xiàn)以上版權(quán)通告所有副本。此軟件由
//慧佳工作室維護,如果您有什么疑問請與我們聯(lián)系。謝謝使用。
//
///////////////////////////////////////////////////////////////////////////////
//此文件只能加載在程序的最尾
/*________________生成HTML文件______________________beign________________________________*/
if ($make_html)
{
$buffer = ob_get_flush();
if ($go_html)//是否直接轉(zhuǎn)到HTML文件顯示還是PHP讀得內(nèi)容輸出(0:php讀內(nèi)容輸出1:直接轉(zhuǎn))
{
/*__________處理因生成了HTML文件而產(chǎn)生的種徑問題____________________begin_______________*/
$search = array(
"/(src=|action=|href=|ajaxRead\()\"/ie",
"/\.\.\./e",
"/\.\/\./e",
"/\.\.\/http:\/\//ies",
"/\.\.\/#/",
"/\'\.\'/e",
"/\.\.\/javascript:/ies");
$replace = array(
"'\\1\"../'",
"'..'",
"'.'",
"'http://'",
"#",
"'\'..\''",
"'javascript:'");
$buffer = preg_replace($search, $replace, $buffer);
/*__________處理因生成了HTML文件而產(chǎn)生的種徑問題____________________end_______________*/
}
$fp = fopen(HTML_FILE, "w");
if ($fp)
{
fwrite($fp, $buffer);
fclose($fp);
}
}
/*________________生成HTML文件______________________beign________________________________*/
?>
<?php
///////////////////////////////////////////////////////////////////////////////
//
// 張樹林 - 慧佳工作室
//
// Module Name: woods-thtml.php
// Abstract: 生成靜態(tài)HTML處理程序頭
// Version: 2.0
// Date 1006-11-25
// Author: woods·zhang
// Website: http://www.hoojar.com/
// Email: hoojar@53.com
// MSN: hoojar@hotmail.com
// Copyright 1001-1006, Hoojar studio All Rights Reserved
//
// 版權(quán) 1001-1006,慧佳工作室所有版權(quán)保護
//The software for free software, allowing use, copy,
//modify and distribute the software and files. Any
//use of this software must place a copy of all the
//above copyright notice. By the software Huijia studio
//maintenance, if you have any queries please contact us.
//Thank you.
//
//此軟件為自由軟件,允許使用、拷貝、修改、分發(fā)本軟件及其文檔。
//任何使用此軟件的地方都得出現(xiàn)以上版權(quán)通告所有副本。此軟件由
//慧佳工作室維護,如果您有什么疑問請與我們聯(lián)系。謝謝使用。
//
///////////////////////////////////////////////////////////////////////////////
//此文件只能加載在程序的開頭
ob_start();
/*___________判斷是否已生成了HTML文件,若生成了則跳轉(zhuǎn)到HTML頁面___________begin__________*/
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
if ($qstring)//程序加了GET請求的處理
{
$qstring = str_replace("=", "", $qstring);
define("HTML_FILE", "./h/{$efilename}-{$qstring}.html");
}
else
{
define("HTML_FILE", "./h/{$efilename}.html");
}
if (file_exists(HTML_FILE))
{
$lcft = filemtime(HTML_FILE);//last create file time
if (($lcft + 3600) > time())//判斷上次生成HTML文件是否以過去1時間,若沒有才直接輸出文件內(nèi)容
{
if ($show_html)//是否以HTML靜態(tài)頁面展示(0不以HTML展顯1以html展顯)
{
if ($go_html)//是否直接轉(zhuǎn)到HTML文件顯示還是PHP讀得內(nèi)容輸出(0:php讀內(nèi)容輸出1:直接轉(zhuǎn))
{
header("Location: " . HTML_FILE);//直接轉(zhuǎn)
}
else
{
echo(file_get_contents(HTML_FILE));//讀出展顯
}
exit(0);
}
}
}
/*___________判斷是否已生成了HTML文件,若生成了則跳轉(zhuǎn)到HTML頁面___________end__________*/
?>
<?php
///////////////////////////////////////////////////////////////////////////////
//
// 張樹林 - 慧佳工作室
//
// Module Name: index.php
// Abstract: 首頁信息
// Version: 1.0
// Date 2006-11-7
// Author: woods·zhang
// Website: http://www.hoojar.com/
// Cemail: hoojar@163.com
// MSN: hoojar@hotmail.com
// Copyright 2001-2006, Hoojar studio All Rights Reserved
//
// 版權(quán) 2001-2006,慧佳工作室所有版權(quán)保護
//The software for free software, allowing use, copy,
//modify and distribute the software and files. Any
//use of this software must place a copy of all the
//above copyright notice. By the software Huijia studio
//maintenance, if you have any queries please contact us.
//Thank you.
//
//此軟件為自由軟件,允許使用、拷貝、修改、分發(fā)本軟件及其文檔。
//任何使用此軟件的地方都得出現(xiàn)以上版權(quán)通告所有副本。此軟件由
//慧佳工作室維護,如果您有什么疑問請與我們聯(lián)系。謝謝使用。
//
///////////////////////////////////////////////////////////////////////////////
require("woods-thtml.php");//生成HTML處理頭
//if (count($_GET) < 1 && count($_POST) < 1){require("woods-thtml.php");}//生成HTML處理頭
require("{$exec_file}");//注冊語言定義文件
foreach ($lang as $key => $value)
{
$atpl[strtoupper($key) ."_LANG"] = $value;
}
/*____________________________________列表常識向上走的項__________________end_____________________*/
include("woods-templates.php");
$tpl = new WoodsTpl("./templates/");
$tpl->require_tpl("header.html");
$tpl->set_file();
$tpl->block("EBCORP", $scorp);
$tpl->block("NEWS", $news);
$tpl->block("PRODUCT", $product);
$tpl->block("EBPNAME_MSG", $spname);
$tpl->block("LORE", $lore);
$tpl->require_tpl("footer.html");
$tpl->parse($atpl, true);
$tpl = NULL;
/*________________模板操作_________________________end___________________________________*/
require("woods-bhtml.php");//生成HTML處理尾
?>
您可能感興趣的文章:
- PHP生成HTML靜態(tài)頁面實例代碼
- 采用thinkphp自帶方法生成靜態(tài)html文件詳解
- PHP批量生成靜態(tài)HTML的簡單原理和方法
- PHP定時自動生成靜態(tài)HTML的實現(xiàn)代碼
- PHP 動態(tài)生成靜態(tài)HTML頁面示例代碼
- PHP將整個網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)
- php將數(shù)據(jù)庫中所有內(nèi)容生成靜態(tài)html文檔的代碼
- 通用PHP動態(tài)生成靜態(tài)HTML網(wǎng)頁的代碼
- php添加文章時生成靜態(tài)HTML文章的實現(xiàn)代碼
- 利用PHP生成靜態(tài)html頁面的原理
相關(guān)文章
laravel5.6 框架郵件隊列database驅(qū)動簡單demo示例
這篇文章主要介紹了laravel5.6 框架郵件隊列database驅(qū)動,結(jié)合實例形式詳細分析了laravel5.6郵件隊列database驅(qū)動具體設(shè)置、實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2020-01-01Laravel框架DB facade數(shù)據(jù)庫操作詳解
這篇文章主要介紹了Laravel框架DB facade數(shù)據(jù)庫操作,結(jié)合實例形式詳細分析了laravel數(shù)據(jù)庫基本創(chuàng)建、連接、增刪改查等操作技巧,需要的朋友可以參考下2019-12-12ThinkPHP框架實現(xiàn)定時執(zhí)行任務(wù)的兩種方法分析
這篇文章主要介紹了ThinkPHP框架實現(xiàn)定時執(zhí)行任務(wù)的兩種方法,結(jié)合實例形式分析了2種被動執(zhí)行定時任務(wù)的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-09-09Linux+Nginx+MySQL下配置論壇程序Discuz的基本教程
這篇文章主要介紹了Linux+Nginx+MySQL下配置論壇程序Discuz的基本教程,Discuz是用PHP寫成的國內(nèi)最流行的論壇軟件,文中默認(rèn)前提是已經(jīng)構(gòu)建好了PHP環(huán)境,需要的朋友可以參考下2015-12-12Zend Framework教程之配置文件application.ini解析
這篇文章主要介紹了Zend Framework教程之配置文件application.ini用法,分析了配置文件application.ini中常見的配置項含義及用法,需要的朋友可以參考下2016-03-03