四时宝库

程序员的知识宝库

页面静态化如何理解,看完之后你也可以写出来

这一期给大家详解下页面静态化

1、静态化页面是什么?

php脚本把这些渲染出来。这个是时候页面是动态显示,前台展示的数据页面是动态,静态化页面就是将这个页面直接转成.html静态的页面,这个时候页面显示的时候不再是动态的,只有等页面只有更新数据的时候才会再次缓存新的数据到静态文件上。简单讲的可以这样子理解。

关于静态化的优点,这边不会在具体的介绍,下次有机会的话给大家讲下为什么要静态化页面,目前可以这样子理解就是静态化后的页面访问速度变得更快,大流量访问减少延迟。

下面直接代码演示如何写静态化页面,以下已php语言为例子

静态化写法

ob_start()这个php自带的函数 开启缓存

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

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

<?php

ob_start(); //打开输出控制缓存

echo "<html><head><title>test页面</title></head><body>Hello world</body></html>";

$out = ob_get_contents(); //获取缓冲区的内容

ob_end_clean(); //关闭输出缓存

$fps = fopen("demo.html", "w");//打开demo.html文件开启写入权限

if (!$fps) {

echo "error";die;

} else {

fwrite($fps, $out); //写入文件

fclose($fps); //关闭文件

echo "success";

}

?>

上面这种写法比较混乱,语法结构不是很好,也不好维护,不推荐使用

(2)先写好静态文件,在使用替换语法更新内容

我们首先创建好一个静态文件,要替换的文件部分标出来,如{title},在php程序中用file_get_content获取html文件的内容,然后进行替换,替换之后保存为静态文件。

静态页:

<!DOCTYPE html>

<html>

<head>

<title>{th_title}</title>

</head>

<body>

<div class="">

<h1>{title}</h1>

<div class="author">{author}</div>

<div class="date">{add_time}</div>

<div>

{content}

</div>

</div>

</body>

</html>

这样子我们就已经写好了静态的文件

php文件替换:

$path = "a.html";

$content = file_get_contents($path); //加载模板

//我们使用str_replace 函数 进行替换

$content = str_replace('{th_title}',$title);

$dir = $path ."/html/";

//判断文件是否存在

if (!file_exists($dir)) {

mkdir($dir);

}

$filename=$dir.'/'.$filename; //这里就不判断html是否存在了,因为写入会覆盖

$result = file_put_contents($filename,$content);//写入内容到对应静态文件中

上面的代码操作

我们需要先使用file_get_contents获取模板页的内容,然后将读取到的文件再使用str_replace进行标签的替换,最后再通过file_pu_contents写入到新文件即可。然后将文件转成的html。

页面的静态化操作就是这么简单,有什么疑问的话可以下面留言。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接