接上篇,php生成静态页面,加上页面时间缓存

<?php require_once(dirname(__FILE__).‘/include/config.inc.php‘); ?>
 <?php
    $dosql->Execute("SELECT * FROM `#@__infolist` WHERE delstate=‘‘ AND checkinfo=true ORDER BY orderid DESC LIMIT 0,5");
//静态页面加缓存时间,如果页面已经存在或者没有超出时间,则默认加载静态页面,否则,生成静态页面:filemtime读取文件修改时间
if(is_file(‘./index.html‘) && (time() - filemtime(‘./index.html‘)) < 300) {//echo 88;die;
  require_once(‘./index.html‘);
}else {//echo 2222;die;
//start

    ob_start();//开启缓存
    echo ‘<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />‘;
    while($row = $dosql->GetArray())
    {
?>

    <p><?php echo $row[‘title‘];?> +</p>
<?php
}

  if(file_put_contents( ‘index.html‘, ob_get_contents() )){

    echo ‘success‘;
  }else{
    echo ‘error‘;
  };//把生成的静态内容保存到index.html文件,而不是输出到浏览器

//end
}
?>

原文地址:https://www.cnblogs.com/yszr/p/9912086.html

时间: 2024-10-18 12:41:55

接上篇,php生成静态页面,加上页面时间缓存的相关文章

php+Smarty生成静态页原理,论坛里好多朋友都在问我这个问题。不懂的进来看下

其实用Smarty生成静态页我个人感觉比缓存生成静态页还要简单. 主要用到Smarty的这个方法 $Smarty->fetch("模板名") 这个函数用法很简单,和$Smarty->display("模板名") 是一样的. 不同的是$Smarty->fetch("模板名") 是把模板替换后的内容返回 而$Smarty->display("模板名")是直接输出也可以说是显示出来. 我们用$Smarty-&

PHP代码为什么不能直接保存HTML文件——&gt;PHP生成静态页面教程

1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件,这样反而会降低运行效率. 3.如果是需要PHP控制HTML代码的输出,比如需要PHP判断用户是否登陆,如果登陆则输出A,未登录则输出B.这就需要PHP来进行控制了.HTML不能实现这样的功能 PHP生成静态页面教程 ,一些基本的概念 一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可

比较详细PHP生成静态页面教程

一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的PHP解析器对 脚本进行解析形成HTML语言形式 ----> 将解析后的HTML语句以包的方式传回给浏览器.由此不难看出,在页面发送到浏览器后,P

PHP代码为什么不能直接保存HTML文件——&amp;gt;PHP生成静态页面教程

1.server会依据文件的后缀名去进行解析,假设是HTML文件则server不会进行语法解析.而是直接输出到浏览器. 2.假设一个页面中所有都是HTML代码而没有须要解析的PHP语法,则没有必要保存为PHP文件,这样反而会减少执行效率. 3.假设是须要PHP控制HTML代码的输出,比方须要PHP推断用户是否登陆,假设登陆则输出A,未登录则输出B.这就须要PHP来进行控制了.HTML不能实现这种功能 PHP生成静态页面教程 ,一些主要的概念 一,PHP脚本与动态页面. PHP脚本是一种serve

浅谈php生成静态页面

一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权限限制等,但是,对应一些我们经常频频使用的文件,比方说,开发的新闻发布系统,我们不希望很多用户都读取数据库才显示结果,这样一方面消耗了服务器的资源,另一方面占去了浏览者大量可贵的响应时间,所有,有了"静态页面话"的做法,当前很多网站都采用这种技术,一般都是由管理后台控制,或者生成html直

过滤器为JSP文件生成静态页面

用过滤器为JSP文件生成静态页面,这只是一个简单的实例,客户端浏览器第一次请求JSP页面时,服务器将生成对应的HTML文件,以后访问同一JSP文件,将转为访问生成的HTML文件.一.过滤器 package com.kenfor.lyb.toHtmlfilter; import java.io.*; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.s

C#根据网址生成静态页面

HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件 是后台管理的首页. 包含生成留言板首页,以及显示用户名,退出等功能. 根据网址生成页面的方法: bool CreateHtmlFile(string url, string path) { //http://keleyi.com/a/bjae/3d10wfax.htm string m_content = Utils.GetHtmlByUrl(Utils.GetAbsolutePath() + ur

html模板生成静态页面及模板分页处理

它只让你修改页面的某一部分,当然这“某一部分”是由你来确定的.美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种代码是Dreamwerver为了方便自己设计而弄的标识),把这个模板中我们需要改变的地方用一个与HTML可以区分的字符代替,如“{title}”.“[title]”.在生成静态页面的时候只需要把数据和这些字符串替换即可.这就是模板的含义了. 新建一个php页面和一个html页面[模板页];注:如果是从数据库调用数据,则

ASP.NET MVC生成静态页面

1.先付上封装好生成静态页的原代码: public class Common { #region 获取模板页的Html代码 /// <summary> /// 获取页面的Html代码 /// </summary> /// <param name="url">模板页面路径</param> /// <param name="encoding">页面编码</param> /// <returns