PHP静态化

  PHP站点开发过程中,因为搜索引擎对PHP页面收录和html的收录有一定的区别,为了站点的推广或者SEO的需要,需要对站点进行一定的静态化。静态化并非页面中没有动画等元素,而是指网页的html代码都在页面中,不需要再去执行PHP脚本等servicer端的语音,我们能够直接访问到的网页,这就是静态网页。

有一种方式是改写防伪地址,能够通过URL的PATHINFO模式来改动它,让它看上去更像一个静态页面,从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化

第二种就是站点能够在用户访问站点之前就通过一定的程序来进行静态化,生成静态页面,当用户去访问该页面的时候,因为访问的是静态页面,因此,访问速度会比访问动态页面的速度快了非常多倍,前台的表现是页面载入速度变快,在后台的表现是降低了数据库的链接,降低了数据库的压力,唯一的缺点就是相对占的硬盘多一些,硬盘相对便宜的多。

纯静态化,就是生产HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存,而且在ob_start之前不能有任何输出,否则运行失败,然后我们用ob_get_content函数来获取缓存中的内容,该函数会返回一个字符串,第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回true,失败返回false。

<?php   //开启缓存   ob_start();   //第一步连接数据库   $conn = mysqli_connect("localhost","root","","bbs");   //第二步设置对应的字符编码   $setting = ‘set names utf8‘;   mysqli_query($conn,$setting);   //第三步进行查询   $sql = ‘SELECT * FROM user‘;   $result = mysqli_query($conn,$sql);   //第四步把查询结果转化为一个数组   $rows = mysqli_num_rows($result);   $sqldata = array();   for($i = 0;$i <$rows;$i ++){      $sqldata[] = mysqli_fetch_assoc($result);   }   //然后打印该信息   var_dump($sqldata);   //得到生成的html文件,下次訪问就无需訪问数据库了   $msg = ob_get_contents();   ob_end_clean();   //把输出内容放入一个html文件里   $f = fopen("static.html","w");   fwrite($f,$msg);   echo "静态化成功";

原文地址:https://www.cnblogs.com/Mr-Echo/p/12148317.html

时间: 2024-11-10 19:04:38

PHP静态化的相关文章

java 企业网站源码 后台 springmvc SSM 前台 静态化 代码生成器

java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 点击:获取地址 QQ 313596790 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的相应式布局,支持PC.平板.手机浏览器访问 4.springmvc +spring4.2.5+ mybaits3.3  SSM 普通java web(非maven) 

动态网页静态化+局部静态化

静态化: 1.设置缓存时间 if(is_file('./index.html') && (time()-filemtime('./index.html') < 1200)) { require_once('./index.html'); }else { // 引入数据库链接操作 require_once('./db.php'); $sql = "select * from news where `category_id` = 1 and `status` = 1 limit

Freemarker 之 Java静态化 实例一

Freemarker是一种强大的web端模板技术,在当前Web开发中,SEO和客户端浏览速度尤为重要,其中将网页静态化是一个很好的解决方案.下面介绍Java中web开发结合Freemarker来实现静态化. 主要分为三步 1 准备好模板文件,如Test.ftl <html> <head> <title>${title}</title> <style type="text/css" link="${rccontextPath

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

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

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc

java自适应响应式 企业网站源码 SSM 生成静态化 手机 平板 PC

java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 点击:获取地址 QQ 313596790 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的相应式布局,支持PC.平板.手机浏览器访问 4.springmvc +spring4.2.5+ mybaits3.3  SSM 普通java web(非maven) 

java 企业网站源码模版 有前后台 springmvc SSM 生成静态化

java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 点击:获取地址 QQ 313596790 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的相应式布局,支持PC.平板.手机浏览器访问 4.springmvc +spring4.2.5+ mybaits3.3  SSM 普通java web(非maven) 

ThinkPHP的静态化页面方法

原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下.     protected function buildHtml($htmlfile='',$htmlpath='',$templateFile='') {         $content = $this->fetch($templateFile);         $htmlpath   = !empty($htmlpath)?$htmlpath:HTML_PATH;  

Freecms模板的制作与静态化 (3)

这里简单说一下文章页的静态化. FreeCMS用的是ckEditor编辑文章,编辑得到的东西和标题等信息,一并存到freecms_info这张表中. 每个文章都有对应的栏目,多数栏目,都有相应的模版文件,这些东西,存在freecms_channel这张表中. 文章页静态化的时候,通过info查找到channel,然后对应相关的template,插入数据后,把静态化的页面存到相应的文件夹中.文件的路径不支持别名等,暂时的命名方法是 /栏目/info/年份/文章号.html.如果想自己做别名,需要改

CMS系统关键技术点总结(UrlRewrite、批量静态化、发送邮件)

1.UrlRewrite 1 protected void Application_BeginRequest(object sender, EventArgs e) 2 { 3 //将请求的ShowArticle页面进行url重写 4 string url = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath; 5 Match match = Regex.Match(url, @"~/Article/ShowArtic