PHP网站如何纯静态网站化

带走了岁月,留下一地黄花
php页面静态化实现思路
php页面静态化,是把那些内容不常变化的页面静态化,而不通过动态程从数据库或者缓存中读出,以此来增加响应速度和减轻服务器压力。这里的要点是对不常变化的内容做静态化,如:新闻,博客等。而经常变化的内容,如微博,就不适合做静态化。还有一些页面,大部分是不变内容,但部分是经常变动的内容,如新闻页包含有最新评论,这样的页面,也可以做静态化,只是需要对经常变动的部分做动态处理。
php页面静态化实现,主要有两个方面的问题要处理,第一是怎么样生成静态化文件,第二是怎么样更新静态文件。
一、 静态页面生成
静态页面生成,主要的方式是通过php的 output buffer系列函数来实现。output buffer(这里简称ob)是php的输出缓冲,在php输出时,先要写入到这个缓冲区,只有当php程序结束或者缓冲区写满的时候,才会输出到浏览器。基于这个特性,我们的思路是,执行php动态程序生成页面,通过ob系列函数,如ob_get_contents()获得缓冲区中的页面内容,然后用文件操作函数如
file_put_content(), 将页面保存到文件中。
//开启output buffer 缓冲区,如果php已经开启,则不需要。
// php.ini 中,output_buffering = 4096
if(!ini_get('output_buffering')){
ob_start();
//从数据库或缓存中获取数据,本行是伪代码,get_from_stroge需要具体实现。
$data = get_from_stroge();
//调用模板组织成页面
require "templates/index.php";
//获取缓冲区中的页面,并清除缓冲区
$content = ob_get_clean();
//将页面保存成为静态文件
file_put_contents("index.htm",$content);index.htm就生成了,在浏览器中打入static.lukexp.com/index.htm 就能打开直接访问生成的静态页面,static.lukexp.com是我本地的虚拟域名,可以通过修改hosts文件和apache虚拟站点来实现。
上文提到有些页面大部分是不变内容,小部分是即时更新的内容,类似的页面,我们可以做局部动态。举个例子,一篇博文和博文的评论,博文是基本不变内容,评论是经常要变动的动态内容。这个时候,我们就要用到局部动态了。主要的思路是通过ajax异步加载动态内容。
&head&&/head&
&div class="blogcontent"&
//博文内容
&div id="blogcomment" data-id="1"&&/div&
&script type="text/javascript" src="st/js/jquery.min.js"&&/script&
&script type="text/javascript"&
$(function(){
var blogid = $(this).attr("data-id");
$.post("getComment.php",{id:blogid},function(RES){
if(RES.code = 0){
$("#blogcomment").html(RES.data.contentHtml);
},'json');
这个页面就是生成的博文静态页面,其中的评论是空的&div id="blogcomment"&&/div&,页面中使用了jquery提供的ajax方法,向后台访问getComment.php来动态获取评论内容。然后后显示在评论区域中。后台getComment.php的大致代码如下:
//***************** getComment.php ************************
if(ini_get('output_buffering')!==false){
ob_start();
$blog_id = $_GET['id'];
$commentData = get_comment_data($blog_id);
require_once("template/comment.php");
$content = ob_get_clean();
$result = array('code'=&0,'msg'=&'',data=&array('contentHtml'=&$content));
echo json_encode($result);
二、 静态页面的更新
我们说的内容不变的页面生成静态页面,但这里的不变也是相对的,比如,博文做了编辑,这个时候,静态页面也要做更新了。更新通常有四种方式:主动触发,过期重建,定时更新,还有被动生成。
1、主动触发的方式,例如上文说的博文做了编辑,这个时候,我们可以在博文保存的时候,同步生成新的博文静态页面。也可以专门提供一个按钮,让用户手动触发重新生成静态页面的操作。
2、过期重建方式,生成的时候对静态页面的时间做一个判断,超过了一定的时间,则重新生成。如:
if(!file_exists("index.htm") || time()-filemtime("index.htm")&300){
if(ini_get('output_buffering')!==false){
ob_start();
$data = get_from_stroge();
require "templates/index.php";
$content = ob_get_clean();
file_put_contents("index.htm",$content);
3、定期更新。定时更新是使用windows的计划任务或者linux的cronjob 之类的工具,定时执行脚本来更新静态页面。以cronjob为例
sudo crontab -e
1 * * * * php /var/www/static.lukexp.com/update.php
/etc/init.d/cron reload以上命令的意思是,每隔1分钟,执行/var/www/static.lukexp.com/update.php,这里update.php就是生成静态页面的代码。
4、被动生成方式。是指在访问到某个页面的时候,如果该页面已经存在则正常访问,否则就生成静态页面并显示。这个过程中,需要用的URL Rewrite即伪静态。例如,上文中博文的静态页面的URL是static.lukexp.com/blog/1.htm,而对应的动态url 是static.lukexp.com/index.php?act=blog&id=1。
以apache为例,首先,我们要开启apache的 rewrite模块,在httd.conf中,去掉 LoadModule rewrite_module modules/mod_rewrite.so 前的“#”,并在 虚拟站点配置中添加rewrite规则,
&VirtualHost *:80&
DocumentRoot /var/www/static.lukexp.com/public
ServerName static.lukexp.com
&Directory '/var/www/static.lukexp.com/public'&
Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Allow from all
&/Directory&
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule ^/(\w+)/(\d+).htm$ /index.php?act=$1&id=$2
&/VirtualHost&
以上的意思就是,/blog/1.htm不存在的时候,就访问index.php?act=blog&id=1,而index.php则根据根据参数调用数据并生成静态页面,然后显示,代码如下:
$act = $_GET['act'];
$id = $_GET['id'];
if(ini_get('output_buffering')!==false){
ob_start();
//从数据库或缓存中获取数据,本行是伪代码,get_from_stroge需要具体实现。
//$data = get_from_stroge($act,$id);
//调用模板组织成页面
require "templates/{$act}.php";
//获取缓冲区中的页面,但不清除缓冲区
$content = ob_get_contents();
//将页面保存成为静态文件
$stfile = "{$act}/{$id}.htm";
file_put_contents($stfile,$content);
在我们实际应用的过程中,以上几种静态文件的生成和更新方式,要根据实际需求,挑选其中一种或者综合几种方式来实现。一般不会单独出现。例如上例中,我们也可以直接到index.php,然后在index.php中根据时间来判断模板是否过期,如果不过期则加载静态文件,否则重新生成。总之,还是要具体的业务需求来挑选实现方式。
没有更多推荐了,记录成长过程,分享开发资料,总结积累经验...
PHP实现HTML页面静态化的方法
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一般情况下会从以下方面来做优化
动态页面静态化优化数据库使用负载均衡使用缓存使用CDN加速
现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对于搜索引擎而言也是非常友好的一个方式。纯静态网站在网站中是怎么实现的?
纯静态的制作技术是需要先把网站的页面总结出来,分为多少个样式,然后把这些页面做成模板,生成的时候需要先读取源文件然后生成独立的以.html结尾的页面文件,所以说纯静态网站需要更大的空间,不过其实需要的空间也不会大多少的,尤其是对于中小型企业网站来说,从技术上来讲,大型网站想要全站实现纯静态化是比较困难的,生成的时间也太过于长了。不过中小型网站还是做成纯静态的比较,这样做的优点是很多的。
而动态网站又是怎么进行静态处理的?页面静态化是指将动态页面变成html/htm静态页面。动态页面一般由asp,php,jsp,.net等程序语言编写而成,非常便于管理。但是访问网页时还需要程序先处理一遍,所以导致访问速度相对较慢。而静态页面访问速度快,却又不便于管理。那么动态页面静态化即可以将两种页面的好处集中到一起。
静态处理后又给网站带来了哪些好处?
静态页面相对于动态页面更容易被搜索引擎收录。访问静态页面不需要经过程序处理,因此可以提高运行速度。减轻服务器负担。HTML页面不会受Asp相关漏洞的影响。
静态处理后的网站相对没有静态化处理的网站来讲还比较有安全性,因为静态网站是不会是黑客攻击的首选对象,因为黑客在不知道你后台系统的情况下,黑 客从前台的静态页面很难进行攻击。同时还具有一定的稳定性,比如数据库或者网站的程序出了问题,他不会干扰到静态处理后的页面,不会因为程序或数据影响而 打不开页面。
搜索引擎蜘蛛程序更喜欢这样的网址,也可以减轻蜘蛛程序的工作负担,虽然有的人会认为现在搜索引擎完全有能力去抓取和识别动态的网址,在这里还是建议大家能做成静态的尽量做成静态网址。
下面我们主要来讲一讲页面静态化这个概念,希望对你有所帮助!什么是HTML静态化:
常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化。PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。PHP伪静态:利用Apache mod_rewrite实现URL重写的方法。
HTML静态化的好处:
一、减轻服务器负担,浏览网页无需调用系统数据库。二、有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全;三、加快页面打开速度,静态页面无需连接数据库打开速度较动态页面有明显提高;四、网站更安全,HTML页面不会受php程序相关漏洞的影响;观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。数据库出错时,不影响网站正常访问。五、数据库出错时,不影响网站的正常访问。
最主要是可以增加访问速度,减轻服务器负担,当数据量有几万,几十万或是更多的时候你知道哪个更快了. 而且还容易被搜索引擎找到。生成html文章虽操作上麻烦些,程序上繁杂些,但为了更利于搜索,为了速度更快些,更安全,这些牺牲还是值得的。
实现HTML静态化的策略与实例讲解:基本方式
file_put_contents()函数
使用php内置缓存机制实现页面静态化 —output-bufferring.
方法1:利用PHP模板生成静态页面
PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。
在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。 一般分这几步:1、通过URL传递一个参数(ID);
2、然后根据此ID查询数据库;
3、取得数据后根据需要修改显示内容;
4、assign需要显示的数据;
5、display模板文件。
Smarty静态化过程只需要在上述过程中添加两个步骤。
第一:在1之前使用 ob_start() 打开缓冲区。
第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。
根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。
方法2:使用PHP文件读写功能生成静态页面
$out1 = "&html&&head&&title&PHP网站静态化教程&/title&&/head&&body&欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法&/body&&/html&";
$fp = fopen("leapsoulcn.html","w");
echo "System Error";
fwrite($fp,$out1);
fclose($fp);
echo "Success";
?&方法3:使用PHP输出控制函数(Output Control)/ob缓存机制生成静态页面输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。比如某个商品的动态详情页地址是: 那么这里我们根据这个地址读取一次这个详情页的内容,然后保存为静态页,下次有人访问这个商品详情页动态地址时,我们可以直接把已生成好的对应静态内容文件输出出来。 PHP生成静态页面实例代码 1
ob_start();
echo "&html&".
"&title&PHP网站静态化教程&/title&".
"&/head&".
"&body&欢迎访问脚本之家,本文主要介绍PHP网站页面静态化的方法&/body&".
"&/html&";
$out1 = ob_get_contents();
ob_end_clean();
$fp = fopen("leapsoulcn.html","w");
echo "System Error";
fwrite($fp,$out1);
fclose($fp);
echo "Success";
?& PHP生成静态页面实例代码
$gid = $_GET['gid']+0;//商品id
$goods_statis_file = "goods_file_".$gid.".html";//对应静态页文件
$expr = ;//静态文件有效期,十天
if(file_exists($goods_statis_file)){
$file_ctime =filectime($goods_statis_file);//文件创建时间
if($file_ctime+$expr--&time()){//如果没过期
echo file_get_contents($goods_statis_file);//输出静态文件内容
}else{//如果已过期
unlink($goods_statis_file);//删除过期的静态页文件
ob_start();
//从数据库读取数据,并赋值给相关变量
//include ("xxx.html");//加载对应的商品详情页模板
$content = ob_get_contents();//把详情页内容赋值给$content变量
file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中
ob_end_flush();//输出商品详情页信息
ob_start();
//从数据库读取数据,并赋值给相关变量
//include ("xxx.html");//加载对应的商品详情页模板
$content = ob_get_contents();//把详情页内容赋值给$content变量
file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中
ob_end_flush();//输出商品详情页信息
我们知道使用PHP进行网站开发,一般执行结果直接输出到游览器,为了使用PHP生成静态页面,就需要使用输出控制函数控制缓存区,以便获取缓存区的内容,然后再输出到静态HTML页面文件中以实现网站静态化。
PHP生成静态页面的思路为:首先开启缓存,然后输出了HTML内容(你也可以通过include将HTML内容以文件形式包含进来),之后获取缓存中的内容,清空缓存后通过PHP文件读写函数将缓存内容写入到静态HTML页面文件中。
获得输出的缓存内容以生成静态HTML页面的过程需要使用三个函数:ob_start()、ob_get_contents()、ob_end_clean()。
1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。
2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。
3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False
方法4:使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);以memcache为例:&?php
$gid = $_GET['gid']+0;//商品id
$goods_statis_content = "goods_content_".$//对应键
$expr = ;//有效期,十天
$mem = new M
$mem---&connect('memcache_host', 11211);
$mem_goods_content = $mem-&get($goods_statis_content);
if($mem_goods_content){
echo $mem_goods_
ob_start();
//从数据库读取数据,并赋值给相关变量
//include ("xxx.html");//加载对应的商品详情页模板
$content = ob_get_contents();//把详情页内容赋值给$content变量
$mem-&add($goods_statis_content,$content, false, $expr);
ob_end_flush();//输出商品详情页信息
memcached是键值一一对应,key默认最大不能超过128个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。
以上就是PHP实现HTML页面静态化的方法,内容丰富,值得大家细细品味,从中得到收获。
没有更多推荐了,php网站如何静态化?_百度知道
php网站如何静态化?
我有更好的答案
静态分为:真正的静态,和伪静态。其实就是把动态的数据,变成html文件。可以手工完成也可以通过框架。现在几乎所有的框架都支持静态和伪静态。比如thinkphp等
采纳率:32%
为什么静态重写规则设下就好了,真静态写入文件就行
为您推荐:
其他类似问题
您可能关注的内容
php网站的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。更新生成纯静态化页面的三种方式:1.按照时间间隔更新。2.手动更新。3.定时更新(需要系统配合)。
1.&按照时间间隔更新。
&&&&当用户第一次访问这个页面的时候,程序自动判断,该静态文件是否存在,并且该文件是否还在有效时间内,如果该文件未超出了有效时间,用户访问的是已经生成的静态文件。如果超出了有效时间,用户得到的是动态输出的内容,同时重新生成静态文件。稍微修改一下昨天的代码为例:
//首先判断是否有静态文件,并且文件的最新修改时间到现在是否大于20秒
if(is_file('./text.php')&&&&time()-filemtime('./text.php')&&=&20){
//条件成立,将已经生成的静态文件输出给用户
include_once('./text.php');
&&&&&&&&//条件不成立,重新走数据库,获取数据,分配模板,输出内容
$arr = array(
0=&array('title'=&'这里是第一个标题'),
1=&array('title'=&'这里是第二个标题'),
2=&array('title'=&'这里是第三个标题'),
3=&array('title'=&date('Y-m-d&H:i:s'))
&&&&&&&&//缓冲区必须要在输出之前开启
ob_start();
//输出模板
include_once('./template.php');
&&&&&&&&//输出内容的同时生成静态文件,注意使用的函数是ob_get_contents();
file_put_contents('./text.php',&ob_get_contents());
if(file_put_contents('./text.php',&ob_get_contents()){
echo&'success';
echo&'error';
2.手动更新静态文件
&&&&这个超级简单,做一个按钮,给它一个&a&标签,链接到这个脚本即可,点击一下按钮,生成一个最新的静态文件,逻辑代码和昨天写的一模一样,为了阅读方便,我还是把昨天的代码复制一份儿过来吧。
&&&&&&&&//按照常规套路的话,这个数组应该是从数据库中拿到的
&&&&&&&&//这里为了简便就直接准备一个二位数组
$arr = array(
0=&array('title'=&'这里是第一个标题'),
1=&array('title'=&'这里是第二个标题'),
2=&array('title'=&'这里是第三个标题')
&&&&&&&&//缓冲区必须要在输出之前开启
ob_start();
//把模板文件引入
include_once('./template.php');
&&&&&&&&//从缓冲区拿到文件,写到本地保存起来
if(file_put_contents('./text.php',&ob_get_clean())){
echo&'success';
echo&'error';
3.定时更新(这个需要借助linux系统)
命令行&&&&crontab&&&&-e&&&&编辑&&&&crontab
*/1 * * * * php /index.php&&&&每一分钟执行一次index.php脚本
五个*分别表示:分&&&&时&&&&日&&&&月&&&&周
查看crontab日志可以查询是否生成静态文件。命令: tail -f&&&&/var/log/cron.log &
& 著作权归作者所有
人打赏支持
码字总数 100864
引用来自“猪在地上跑”的评论说的有点简单啊! 说的虽然简单点,但道理都是这么一个道理
说的有点简单啊!
评论删除后,数据将无法恢复
关于页面php文件执行阶段 语法分析——》编译——》运行 如何优化页面的响应时间 动态页面静态化 优化数据库 使用负载均衡 使用缓存 页面静态化能够解决的问题 1.减少服务器脚本的计算时间 ...
嗜学如命的小蚂蚁 ?
写博客应半年了,因为对程序语言比较感兴趣,因此也关注博客系统的发展,对于国内博主来说,ZBLOG似乎是最佳的选择,功能比较完善,也比较好修改模板,当然,你还需要写CSS代码,模板里面基本...
原创小博客 ? 前天 ?
网站一直在加载,很慢,处理方式多种; 0.页面静态化; 1.优化数据库; 2.负载均衡; 3.使用缓存技术 关于页面静态化 使用函数如 fileputcontents($filename,$string); php的输出缓冲区 开启...
just_wkj ?
说白了,其实就用到了一个知识点——ajax。在静态化页面中使用ajax动态获取数据库中的数据,写入到静态化页面中相应的位置即可。虽然这些代码在平时的工作中都写烂了,但我还是决定在博客中重...
嗜学如命的小蚂蚁 ?
当我们在访问各个门户信息网站时,主页都会给我们显示各种头条、导航信息(例如新闻网)。我们可以想象,面对众多的数据库访问等操作,在我们访问这些网页的同时加载速度将会变得很慢。众所周...
做程序也做了将近4年时间了,从来没有发过什么技术性的文章,今天发一个只在大家一起共同学习进步,如有错误地方请指正。 最近自己做了一个做网络广告的网站叫全方位商机平台的项目,由于网站...
1.CMS 是什么? 内容管理系统(Content Management System,简称CMS)是指在一个合作模式下,用于管理工作流程的一套制度。该系统可应用于手工操作中,也可以应用到电脑或网络里。作为一种中...
一杯千岁醉 ?
在很多地方都看到有PHP整站静态化的东东,怪唬人的。。其实,你会静态化一个页面,那么别说整站了,想静态化多少都可以。所以关键是,首先要知道怎么静态化一个页面,了解静态化的原理是关键...
自从We7 CMS第一次走进大众的视野,就注定了它在这个舞台的与众不同的表现;辞旧迎新,跨越技术与用户体验的双重障碍,迎面而来的是全新的功能,优化的设计。这一次,We7 CMS 2.5版跳得台阶有...
Steve Wone ?
公司是做电子商务的,网站日访问有2~3万IP,但是由于数据库比较庞大而且程序代码比较混乱导致页面访问速度奇慢,页面加载时间平均是12s,是个很恐怖的等待时间,想要加快速度有几种方式,一是...
IsapiCache ?
没有更多内容
加载失败,请刷新页面
Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @毅丝不挂 :分享王上的单曲《青春大概》 《青春大概》- 王上 手机党少年们想听歌,请使劲儿戳(这里) @Chilies :放弃上大学的男同学,同2...
小小编辑 ? 今天 ?
1.引入邮件包 &dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-mail&/artifactId&
&/dependency& 2.配置邮......
hutaishi ? 今天 ?
1、看懂密码机文档、DER格式 1天 1.1、看懂D/X/Y/R/S 1天 2、做实验,双网卡 半天 3、软件签名的印证(.net程序相互成功)半天 3.1 其他程序及网页相互不成功 半天 4、对散列结果的印证成功 ...
max佩恩 ? 今天 ?
使用cargo http://somefuture.iteye.com/blog/2275494 使用科大源 https://blog.csdn.net/xiangxianghehe/article/details/...
chuqingq ? 今天 ?
使用 API public static void arraycopy(
Object src,
int srcPos,
//源数组的起始位置
冯文议 ? 今天 ?
JavaScript零基础入门——(十四)JavaScript的BOM 大家好,欢迎回到我们的JavaScript零基础入门。上一节课我们了解了JavaScript的事件,这一节课,我们以JavaScript的BOM,来结束JavaScrip...
JandenMa ? 今天 ?
在windows平台下的情况: 1、python的venv环境不能完全脱离python环境运行,就是你把整个项目拷贝到一台没有装python的电脑上,能运行venv\Script\activate进入虚拟环境,但运行scripts下的p...
良言 ? 今天 ?
linux 性能查看工具 Linux下的系统性能调优工具 perf linux perf
易野 ? 今天 ?
介绍 提供用于定义路由的Shelf中间件。 shelf_route是一个功能强大的路由器,可以轻松地以模块化方式定义路由。 shelf_route旨在: 易于使用开箱即用 简单定制 高度可扩展性,使组件作者可以...
scooplol ? 今天 ?
本篇文章,博主主要分享在centos6.9安装JDK1.7的全过程,主要目标针对刚入IT行业或者平常碰不到服务器的小白们,大神级别请绕道访问博主其它文章。 先贴出本次会使用到的命令 tar -zxvf jdk-...
em_aaron ? 今天 ?
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定取消删除此文章吗?
亲,自荐的博客将通过私信方式通知管理员,优秀的博客文章审核通过后将在博客推荐列表中显示
确定推荐此文章吗?
确定推荐此博主吗?
聚合全网技术文章,根据你的阅读喜好进行个性推荐
指定官方社区
深圳市奥思网络科技有限公司版权所有&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
php页面静态化&实现页面纯静态化的原理_PHP教程
摘要:php页面静态化—实现页面纯静态化的原理,有需要的朋友可以参考下。php实现页面纯静态化的最终目的就是生成纯html文件,而这个纯html文件就存放在服务器的磁盘当中;php实现页面纯静态化需要的东西:1、文件写入函数file_put_contents()、或者fopen()、fwrite()、fclose()等函数;2、缓冲区(缓存)操作函数ob函数(ob_start()、ob_get_contents()、ob_clear()、ob_get_clearn()等);ob_s
php页面静态化—实现页面纯静态化的原理,有需要的朋友可以参考下。
php实现页面纯静态化的最终目的就是生成纯html文件,而这个纯html文件就存放在服务器的磁盘当中;
php实现页面纯静态化需要的东西:
1、文件写入函数
file_put_contents()、或者fopen()、fwrite()、fclose()等函数;
2、缓冲区(缓存)操作函数
ob函数(ob_start()、ob_get_contents()、ob_clear()、ob_get_clearn()等);
ob_start() — 打开“输出控制缓冲”;
ob_get_contents() — 返回“输出缓冲区的内容”;
ob_clearn() — 清空(擦掉)“输出缓冲区”;
ob_get_clearn() — 得到当前缓冲区的内容并删除当前“输出缓冲区”;
在之前的文章中曾经说过,当我们在执行一个php程序,如果这个php程序有数据输出,那么这个数据会首先输出
到php缓冲区,然后缓冲区才会将数据通过tcp传输到客户端并进行显示;
那么有了上面的ob函数(输出控制缓冲函数),那么我们就可以通过控制缓冲区的输出来达到我们的目的,即实现
页面的静态化;
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
邮箱低至5折
推荐购买再奖现金,最高25%
&200元/3月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
php页面静态化&实现页面纯静态化的原理_PHP教程相关信息,包括
的信息,所有php页面静态化&实现页面纯静态化的原理_PHP教程相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International

我要回帖

更多关于 php网站静态化 的文章

 

随机推荐