初学网页静态化
2016-03-15 11:57
344 查看
页面静态化用于把php文件输出为一个纯的html或者shtml文件,作用是使客户端可以更快地加载,减少等待时间(动态页面有可能需要连接数据库等操作,导致显示出来的时间会变长),适用于访问量大但用户交互性没那么强的页面,好像我根本还达到要需要用到的地步。。。。
个人理解:
使用原理是打开缓冲区,把php文件内容输出到页面前,会先输入到缓冲区。
而页面静态化就是把缓冲区内容输出到html,shtml,这样,用户如果加载就只是静态文件,相对来说速度更快
下面是一般而言可以用到的函数:
//获得缓冲区的内容,前提是php.ini开启了buffering或者使用ob_start();开启缓冲区 ob_get_contents(); //把字符串写入文件,结果返回输入字符串个数,但每次使用都会清空原文本内容 file_put_contents($filename,$content); //清空缓冲区 ob_clean(); //得到缓冲区的内容 ob_get_contents(); //清空缓冲区并并得到缓冲区内容,相当于ob_get_contents()+ob_clean(); ob_get_clean();
一般而言,用的时候是先使用ob_clean()打开缓冲区(一般而言php.ini会默认打开,但不同版本php可能有所不同)
然后用require_once();引入php文件,此时数据会经过缓冲区
最后用file_put_contents('.html',ob_get_contents());把内容放入该html文件,就成了静态化文件
个人例子:
ob_start(); require_once('article.list.php'); file_put_contents('index.shtml',ob_get_clean());
以上是个人理解,肯定有错误的地方,有不足之处请指出
相关文章推荐
- Swift 基本数据类型,常/变量声明(一)
- 简单的四则运算器程序
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- 详解让C++新手闹心的语句“cout<<"Hello!"<<endl;”
- binlog三种模式的区别(row,statement,mixed)
- 出身多么重要
- Java设计模式理论知识要点总结
- 深信服笔试题(网络project师售后)
- NEW关键字的三种用法
- Android 开源框架Universal-Image-Loader完全解析 --- 基本介绍及使用
- HDU-2084(数塔)(动态规划)
- MySQL行锁深入研究
- 解析nginx负载均衡
- 决策树-C4.5算法
- 下载apk文件浏览器会直接打开并显示乱码的问题
- ie7,ie8 js中变量名和页面元素ID重名,报错
- 插入排序-直接插入排序、希尔排序
- JAVA识别身份证号码,H5识别身份证号码,tesseract-ocr识别(二)
- java 利用Jframe实现查找鼠标点击的位置坐标
- windows 调整系统栈大小