搜尋
首頁php教程PHP源码把当前显示的动态PHP页面静态化,生成HTML文件


/*
**此段代码要放在所有页面都包含的模块里
**比如const.php或conn.php
**$isHTMLModel 此变量设置是否保存页面内容为静态文件
**$spacing 此变量设置更新时间
**$HtmlPath 此变量保存当前显示的页面的静态文件的路径
**UseHtmlPage 此函数的作用主要是判断当前页面的HTML静态文件是否过期,是则返回文件路径
*/
$isHTMLModel=0;//是否使用静态化页面
$spacing=1;//生成新的文件更新间隔时间 单位:小时
$HtmlPath=UseHtmlPage($isHTMLModel,$spacing);



/*
**此段代码放在需要输出静态文件的页面最底部
**主要作用就是根据上面的设置参数,把当前动态页面里显示过的内容
**生成为静态HTML文件,保存的静态文件的路径在$HtmlPath里
*/
CreateHtmlPage($HtmlPath , $isHTMLModel)

                       

           

2. [代码][PHP]代码   

//如果使用静态页面则取得当前页面的路径,并判断是否存在静态文件和文件的生成日期时间戳与当前日期时间戳是否相差$spacing这么多,有则跳转,无有则生成静态文件路径
function UseHtmlPage($isHTMLModel,$spacing){
	if ($isHTMLModel){
		$paramet="";
		$paramet=$_SERVER['QUERY_STRING'];
		if($paramet!="") $paramet="=".str_replace("=","-",str_replace("&","_",$_SERVER['QUERY_STRING']))."";
		
		
		$HtmlPath=dirname($_SERVER["SCRIPT_FILENAME"])."\\html".str_replace(".php",$paramet.".html",str_replace("/","\\",$_SERVER["PHP_SELF"]));
		$Path="/html".str_replace(".php",$paramet.".html",$_SERVER["PHP_SELF"]);
		if(file_exists($HtmlPath)){
			$one = strtotime(date('r', filemtime($HtmlPath)));//文件之前 时间戳
			$two = time();//系统现在 时间戳
			$cle = $two - $one; //得出时间戳差值
			if ($H<$spacing) {header("Location: ".$Path);}
		}
		return $HtmlPath;
	}
}

//如果使用静态页面并且有静态文件路径,则把当前页面的缓存写到静态文件中
function CreateHtmlPage($HtmlPath , $isHTMLModel){
	if ($isHTMLModel) WriteHtml($HtmlPath);
}

//把当前页面的缓存写到静态文件中
function WriteHtml($filepath){
	if($filepath!=""){
		$content = ob_get_contents();//取得php页面输出的全部内容 
		ob_flush();
		@unlink($filepath);
		$fp = fopen($filepath, "w"); //创建一个文件,并打开,准备写入 
		fwrite($fp, $content); //把php页面的内容全部写入
		fclose($fp); 	
	}
}

           

       

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具