The article introduces three methods that can be used to generate html files in PHP. The first one uses PHP's ob_start, and the second one uses smart template friends to generate the method.
I often see people asking on the Internet how to make an entire dynamic website static. In fact, the implementation method is very simple.
代码如下 | 复制代码 |
//在你的开始处加入 ob_start(); ob_start(); //以下是你的代码 //在结尾加入 ob_end_clean(),并把本页输出到一个变量中 $temp = ob_get_contents(); ob_end_clean(); //写入文件 $fp = fopen(‘文件名’,’w’); fwrite($fp,$temp) or die(‘写文件错误’); ?>
|
This is just the most basic method, not very practical, because the website needs to be updated and the HTML needs to be regenerated regularly
The following is the method I use:
The code is as follows | Copy code |
if(file_exists("xxx.html")) 代码如下 | 复制代码 | if(file_exists(“xxx.html”)) { $time = time(); //文件修改时间和现在时间相差半小时一下的话,直接导向html文件,否则重新生成html if($time - filemtime(“xxx.html”) < 30*60) { header(“Location:xxx.html”); } } //在你的开始处加入 ob_start(); ob_start(); //页面的详细内容 //在结尾加入 ob_end_clean(),并把本页输出到一个变量中 $temp = ob_get_contents(); ob_end_clean(); //写入文件 $fp = fopen(‘xxx.html’,’w’); fwrite($fp,$temp) or die(‘写文件错误’); //重新导向 header(“Location:xxx.html”); | { $time = time(); , directly directed to the html file, otherwise regenerate html if($time - filemtime("xxx.html") < 30*60) { header("Location:xxx.html"); }}//Add ob_start() at the beginning; ob_start(); //Details of the page//Add ob_end_clean() at the end , and output this page to a variable $temp = ob_get_contents(); ob_end_clean(); //Write the file $fp = fopen('xxx.html',' w'); fwrite($fp,$temp) or die('Write file error'); //Redirectheader("Location:xxx.html"); |
The cache file used above will be overloaded when generated in large quantities. Below we introduce a more efficient method The following is the input content Submit page: File name: aa.html
The following is the code snippet:
File name: bb.php
The code is as follows | Copy code |
代码如下 | 复制代码 |
//定义日期函数 function getdatetime() { $datetime=getdate(); $strReturn=$datetime["year"]."-"; $strReturn=$strReturn.$datetime["mon"]."-"; $strReturn=$strReturn.$datetime["mday"]; return $strReturn; } //定义时间函数(文件名) function gettime() { $times=getdate(); $strtime=$times["year"]; $strtime=$strtime.$times["mon"]; $strtime=$strtime.$times["mday"]; $strtime=$strtime.$times["minutes"]; $strtime=$strtime.$times["seconds"]; return $strtime; } ?>
//判断提交值是否为空 $submit=$_POST["submit"]; //定义文件头部信息 $htmltitle=$_POST["htmltitle"]; //定义文件内容 $htmlbody=$_POST["htmlbody"]; if ($submit) { //定义html文件标签 $html1=$html1.""; $html1=$html1." "; $html1=$html1.""; $html1=$html1.$htmltitle; $html1=$html1.""; $html1=$html1.""; $html1=$html1.""; $html1=$html1.""; $html1=$html1.""; $html1=$html1.$htmltitle; $html1=$html1." | "; $html1=$html1.""; $html1=$html1.$htmlbody; $html1=$html1." | "; $html1=$html1.""; $html1=$html1."";
//判断今天的文件夹是否存在 if (!is_dir(getdatetime())) { //如果不存在就建立 mkdir(getdatetime(),0777); }
//写成html文件 $filedir=getdatetime(); $filename=gettime(); $filename=$filename.".html"; $fp=fopen("$filedir/$filename","w"); fwrite($fp,$html1); fclose($fp); echo "<script>alert('文件写入成功');location.href='111.php';</script>"; } ?>
| //Define date function<🎜>function getdatetime()<🎜>{ <🎜> $datetime=getdate();<🎜> $strReturn=$datetime["year"]."-";<🎜> $strReturn=$strReturn.$datetime["mon"]."-";< 🎜> $strReturn=$strReturn.$datetime["mday"];<🎜> return $strReturn;<🎜>}<🎜><🎜>//Define time function (file name)<🎜>function gettime()< 🎜>{<🎜> $times=getdate();<🎜> $strtime=$times["year"];<🎜> $strtime=$strtime.$times["mon"];<🎜> $strtime= $strtime.$times["mday"];<🎜> $strtime=$strtime.$times["minutes"];<🎜> $strtime=$strtime.$times["seconds"];<🎜> return $ strtime;<🎜>}<🎜>?>";$html1=$html1."";$ html1=$html1."";$html1=$html1.$htmltitle;$html1=$html1."";$html1=$html1. "";$html1=$html1."";$html1 =$html1."";$html1=$html1."";$html1=$html1.$htmltitle;$html1=$html1." | ";$html1=$ html1."";$html1=$html1.$htmlbody;$html1=$html1." | ";$html1=$html1."";$html1=$html1." |