使用php怎么生成静态页面

  介绍

这篇文章将为大家详细讲解有关使用php怎么生成静态页面,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> 1,什么是静态化

就比如我们平时写项目的时候,大部分的页面都是会传参数进去,通过php标签把这些参数展示出来,因为我们的参数随时可以变化,所以页面上的内容也跟着参数变化,这就是动态化的页面。与之相反,静态化就是纯粹的html页面上的内容不需要通过php或java等者编程语言来改变。

关于静态化的优点,网上也都说的很清楚了,这边不再一一赘述,总之就是打开速度够快,能抗住大流量访问。

<强> 2,静态化写法

(1)第一种写法是通过ob_start()缓存来输出

在php文件中编写html代码,然后用bo_get_content获取到,然后输出到html文件,类似于:

, php & lt; ?   ,//打开输出控制缓存   ,ob_start ();   ,echo “& lt; html> & lt; head> & lt; title>测试页面& lt;/title> & lt;/head> & lt; body> Hello  world & lt;/html>“;   ,//获取缓冲区的内容   ,out 美元;=,ob_get_contents ();   ,//关闭输出缓存   ,ob_end_clean ();   ,//打开test.html文件开启写入权限   ,fp 美元;=,fopen (“test.html",,“w");   ,if  (! $ fp), {   ,echo “Fail";死亡;   ,}else  {   ,//写入文件   ,写入文件(fp美元,,);   ,//关闭文件   ,文件关闭(fp);   ,echo “Success";   以前,}

参考:php输出控制函数和输出函数生成静态页面

这种写法个人感觉会稍微乱一点,而且如果页面复杂的话,写出来的php + html代码会有些杂乱,所以博主选用的是第二种方法。

(2)提前写好模板页,然后进行替换

先准备好静态文件,然后把要替换的部分标出来,如{标题},在php程序中用file_get_content获取html文件的内容,然后进行替换,替换之后保存为文件。

模板页:

& lt; ! DOCTYPE  html>   & lt; html>   & lt; head>   ,& lt; meta  charset=皍tf-8"比;   ,& lt; title> {top_title} & lt;/title>   ,& lt; link  rel=皊tylesheet" https://www.yisu.com/zixun/, href=" rel="外部nofollow”>   头   <身体>   
  

{标题}

  
{作者}
     
{show_time}
  
  
  {内容}   
  
     

我们先编写好模板页面,包括都有哪部分需要替换,基本的样式等,提前写好

php替换:

path 美元;=,\ Yii: getAlias (& # 39; @xxx& # 39;) # 39;公司/视图/网站/notice-detail.php& # 39;;   file_get_contents ($ $ content =,路径),,//引入模板   ,//获取要替换的值进行字符串的替换   ,content 美元;=,str_replace (& # 39; {top_title} & # 39;,标题美元,美元的内容);   ,content 美元;=,str_replace(& # 39;{标题}& # 39;,标题美元,美元的内容);   ,.......   美元,美元dir =, path  !”/html/?   (!,if  file_exists (dir)美元),{   ,mkdir ($ dir);   ,}   文件名=dir强生# 39;美元/& # 39;美元文件名;,//这里就不判断html是否存在了,因为写入会覆盖   result 美元;=,写入(文件名、内容美元);//写入内容到对应静态文件中

大概就是先通过file_get_contents获取模板页的内容,然后通过进大小写不敏感行标签的替换,替换完成之后,通过file_pu_contents写入到新文件即可。生成的html,我们可以生成多个html,让前端根据不同的页面去访问不同的html即可。

<强>三,生成预览

生成html之后,一般来说是需要预览给工作人员看看的,毕竟人家也不懂技术,不知道到底生成的是啥

<强> 1,使用对话框打开窗口

静态页:

//这是我们要打开的窗口,先隐藏   & lt; div  id=癲ialog-form-record",比;   ,& lt; div  id=癈ontent_record"比;   ,   ,& lt;/div>   ,& lt;/div>

JS定义底部按钮:

, var  arrButton =, {   ,“Release": {   ,& # 39;文本# 39;:,& # 39;按钮名称& # 39;,   ,& # 39;优先# 39;:,& # 39;二次# 39;   ,& # 39;类# 39;:,& # 39;btn  btn-success& # 39;   ,& # 39;id # 39;: & # 39; & # 39;   ,& # 39;点击# 39;:点击事件   },   ,“Cancel": {   ,& # 39;文本# 39;:,& # 39;取消# 39;,,//取消按钮   ,& # 39;优先# 39;:,& # 39;二次# 39;   ,“id": & # 39; xxx # 39;   ,& # 39;点击# 39;:,function  (), {   ,dialogRecord.dialog (,“close",);      ,}   ,}   ,};   ,//定义宽高   (美元,dialogRecord =,,“# dialog-form-record",) .dialog ({   ,autoOpen:假的,   800年,身高:   1400年,宽度:   ,模态:没错,   ,按钮:arrButton,   ,关闭:函数(),{   ,$ (,“# Content_record",) . html (“;”);   ,dialogRecord.dialog (,“close",);   ,}   以前,});

使用php怎么生成静态页面