小蚂蚁学习页面静态化(1)——静态化的原理

关于页面php文件执行阶段

语法分析——》编译——》运行

如何优化页面的响应时间

  1. 动态页面静态化
  2. 优化数据库
  3. 使用负载均衡
  4. 使用缓存

页面静态化能够解决的问题    1.减少服务器脚本的计算时间    2.降低服务器的响应时间    但是静态化不适用于内容经常变换的页面。

Buffer认知

Buffer就是一个缓冲区,一个内存地址空间,用于存储数据的区域

输出流程

内存-》php buffer-》tcp-》终端

将Php.ini中    output_buffering = on  Php5.3以上默认是开启的。

Ob_get_contents() 获取php缓冲区的文件

如果php.ini缓冲区没有开启,可以再脚本上部添加ob_start();开启

php如何实现页面纯静态化呢?

基本方式

1.File_put_contents()函数

2.使用php内置缓存机制实现页面静态化 – output_buffering

操作缓冲区的函数ob_*

Ob函数

Ob_start           打开输出控制缓冲

Ob_get_contents           返回输出缓冲区内容

Ob_clean           清空(擦掉)缓冲区内容

Ob_get_clean                      得到当前缓冲区的内容并删除当前输出缓冲区

这四个是核心参数,静态化的核心思想就是,将保存到缓冲区的内容拿出来,保存在本地文件内。例如:

<?php //开启缓冲区ob_start();//输出一个aaaecho ‘aaa‘;//从缓冲区拿到这个aaa,再把它放入到一个本地文件中,这样就ok了file_put_contents(‘./text.txt‘,ob_get_clean());?>
时间: 2024-10-13 23:26:30

小蚂蚁学习页面静态化(1)——静态化的原理的相关文章

小蚂蚁学习页面静态化(2)——更新生成纯静态化页面的三种方式

更新生成纯静态化页面的三种方式:1.按照时间间隔更新.2.手动更新.3.定时更新(需要系统配合). 1. 按照时间间隔更新. 当用户第一次访问这个页面的时候,程序自动判断,该静态文件是否存在,并且该文件是否还在有效时间内,如果该文件未超出了有效时间,用户访问的是已经生成的静态文件.如果超出了有效时间,用户得到的是动态输出的内容,同时重新生成静态文件.稍微修改一下昨天的代码为例: <?php //首先判断是否有静态文件,并且文件的最新修改时间到现在是否大于20秒 if(is_file('./tex

小蚂蚁学习页面静态化(完结)——伪静态的实现和配置方法

伪静态的作用:1.让url更加美观.2.对搜索引擎更加友好. php处理伪静态案例分析(path_info模式) 备注:nginx服务器默认下是不支持path_info模式的,需要去配置 通过正则表达式去分析伪静态url的特性,很简单,直接上代码 <?php  //匹配这个url地址 /index.php/2/1.html if(preg_match('/(\d+)\/(\d+)\.html/', $_SERVER['PAHT_INFO'],$arr)){ $type = $arr[1]; $c

PHP 页面静态化/纯静态化/伪静态化

概念 PHP静态化分为:纯静态化 和 伪静态化:纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销, 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的: 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面 伪静态化:其实还是动态访问,其实质是动态生成数据,你访问的网址类似于"http://yourhost,c

PHP 404页面/如何设置404页面/URL静态化/URL伪静态化

php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404.html 或者是带有文件路径的地址: ErrorDocument 404 /error_pages/404.html 其他 401.500 等错误同理 注意点是:( 参考 ) 不要将错误页面指向主页面,可能会导致主页在搜索引擎中消失: 错误页面地址设置用相对路径(如果有绝对地址,会返回发起两次请求,第一次是3

静态化 - 真静态技术

静态化,真静态技术. 采用php的ob缓存技术实现,结合手写模版引擎代码. 一个小实例,新闻管理系统. 项目说明: 为了便于SEO,要将新闻的页面做成静态化的页面.网址是静态的html,内容也是静态的.(如果只是网址是静态的,内容是动态的,就是伪静态,一般网站使用的都是伪静态技术股.) 网址静态化(点击之后跳转到静态化的网页): 项目结构介绍: admin:后台管理文件夹. index.html:后台管理首页. newsadd.php:后台添加新闻页面. newsupdate.php:后台修改新

Cocos2d-x 3.1.1 学习日志2--error:只有静态常量整型数据成员才可以在类中初始化

今天遇到比较低端的一个问题,就是成员的初始化问题,编译器也无法验证,不同的编译器有些能过有些不能过,我也不知道为什么,总是我们以vs为准吧,以为我们用的环境就是它,话不多说,解决方案如下: 在类中    static const double PI=3.1416; error:只有静态常量整型数据成员才可以在类中初始化 常整型静态数据成员可以在类中直接初始化,而常实型静态数据成员不可以 class circle { int a; // 普通变量,不能在类中初始化 static int b; //

【深度学习系列1】 深度学习在腾讯的平台化和应用实践(转载)

转载:原文链接 [深度学习系列1] 深度学习在腾讯的平台化和应用实践 引言:深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公开 Google Brain计划,业界对深度学习的热情高涨.腾讯在深度学习领域持续投入,获得了实际落地的产出.我们准备了四篇文章,阐述深度学习的原理和在腾讯的实 践,介绍腾讯深度学习平台Mariana,本文为第一篇. 深度学习(Deep Learning)是近年来机器学习领域的热点,在语音识别.图像识别等领域均取得了突破性进展.腾讯提供广泛的互联

WPBakery Page Builder页面生成器6.0 汉化版

WPBakery Page Builder 是一个可视化编辑器插件 ,相较于WP自带的编辑器使用起来更加方便,同时功能更 加强大,完全的可视化操作,使用比较简单,国外有多款主题需要使用插件. WPBakery Page Builder是一个独特的插件,它将帮助您在WordPress网站上管理您的内容,并在几分钟内创建令人惊叹的布局,而无需编写代码.如今,许多网站都具有包含列,选项卡,滑块等的复杂网格布局.过去,要创建这种类型的布局,您应该是HTML guru或Shortcodes操作员忍者. 它

java学习(四)static静态变量 和this

java中的this /* this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 */ //定义学生类 class Student { //姓名 private String name; //年龄 private int age; //姓名获取值 public String getName() { return name; } //姓名设置值 public void setName(