`
paulfzm
  • 浏览: 884283 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

php 生成静态页

    博客分类:
  • Php
阅读更多
我经常会在网上看到有人问怎么将整个动态的网站静态化,其实实现的方法很简单。

<?php 
//在你的开始处加入 ob_start(); 
ob_start(); 

//以下是你的代码 
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中 
$temp = ob_get_contents(); 
ob_end_clean(); 

//写入文件 
$fp = fopen(‘文件名’,'w’); 
fwrite($fp,$temp) or die(‘写文件错误’); 
?> 
  


这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML

下面是我用的方法:
 

if(file_exists("xxx.html"))
{
    $time = time();
         
         //文件修改时间和现在时间相差半小时一下的话,直接导向html文件,否则重新生成html
    if($time - filemtime("xxx.html") < 30*60)
    {
        header("Location:xxx.html");
    }
}
//在你的开始处加入 ob_start(); 
ob_start(); 

//页面的详细内容
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中 
$temp = ob_get_contents(); 
ob_end_clean(); 

//写入文件 
$fp = fopen(‘xxx.html’,'w’); 
fwrite($fp,$temp) or die(‘写文件错误’); 

//重新导向
header("Location:xxx.html");



下面是一些用到的函数的介绍:
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
2、ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3 、ob_get_contents :返回内部缓冲区的内容。
使用方法:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用方法:int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
使用方法:void ob_end_clean(void)
说明:这个函数不会输出内部缓冲区的内容而是把它删除!
7、ob_implicit_flush:打开或关闭绝对刷新
使用方法:void ob_implicit_flush ([int flag])
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()

分享到:
评论

相关推荐

    最简单的php生成静态页的类

    这个“最简单的php生成静态页的类”就是一个实现这种功能的示例。 首先,我们需要理解PHP生成静态页面的基本原理。在动态网站中,每次有用户访问时,服务器都会运行PHP脚本来生成HTML页面并发送给浏览器。而在静态...

    PHP生成静态页 整站源码 适合新手

    当我们谈论"PHP生成静态页"时,我们指的是通过PHP脚本动态生成HTML页面,然后将其保存为静态文件,以便后续的用户请求可以直接访问这些预先生成的页面,而无需每次请求都执行PHP代码。这种方法可以提高网站的加载...

    PHP生成静态页面(ob_start+smarty)生成

    【PHP生成静态页面】生成静态页面是提高网站性能和SEO优化的一种常见方法,它通过将动态内容转换为静态HTML文件,使得用户可以直接访问已生成的HTML,减轻服务器负担。本篇将详细介绍一种基于`ob_start()`和Smarty...

    php生成静态页面源码

    当我们谈论"PHP生成静态页面源码"时,我们是指通过PHP脚本将动态内容转化为HTML文件,这些HTML文件可以独立存在于服务器上,不依赖数据库或PHP解释器来展示内容。这种方式有助于提高网站的加载速度,减轻服务器负担...

    PHP生成静态页面小程序 v1.1.zip

    前几天发表一个有关PHP生成静态HTML页面小程序,有朋友私下说能不能整理一下,把相关PHP生成静态HTML,原理性强的都写出来,适合PHP新手用到的一些方法,这里我在之前的哪个版本上面又进行了完善,把PHP新手朋友要求...

    PHP生成静态页面教程

    ### PHP生成静态页面教程知识点详解 #### 一、PHP脚本与动态页面的基本概念 - **PHP脚本**:PHP是一种服务器端脚本语言,它能够嵌入到HTML文档中或者独立作为脚本来运行。PHP的主要功能在于处理数据、生成动态内容...

    PHP生成静态页面小程序

    **PHP生成静态页面小程序** PHP是一种广泛使用的服务器端脚本语言,特别适合于Web开发,可以用来创建动态交互式网站。在这个"PHP生成静态页面小程序"中,我们探讨的是如何利用PHP技术将原本动态生成的网页转换为...

    PHP 生成静态页类

    总的来说,PHP生成静态页类是结合了PHP的动态处理能力与静态页面的性能优势。通过这样的方式,开发者可以构建既快速又可扩展的网站。在`writehtml.php`中,我们可以期待看到一个实现这一功能的简单但实用的类示例。...

    PHP生成静态页面小程序 v1.1

    前几天发表一个有关PHP生成静态HTML页面小程序,有朋友私下说能不能整理一下,把相关PHP生成静态HTML,原理性强的都写出来,适合PHP新手用到的一些方法,这里我在之前的哪个版本上面又进行了完善,把PHP新手朋友要求...

    PHP生成静态页面123.pdf

    PHP生成静态页面是一种常见的优化网站性能的技术,它涉及到动态脚本、静态页面的概念以及模板解析的原理。以下将详细阐述这些知识点。 首先,PHP脚本是一种服务器端的编程语言,用于创建动态网页。动态页面是通过...

    PHP实例开发源码—PHP生成静态页面小程序.zip

    在本压缩包“PHP实例开发源码—PHP生成静态页面小程序.zip”中,包含了一个用于演示如何使用PHP生成静态页面的简易小程序。这个程序的核心目标是提高网站的加载速度和减轻服务器负担,因为静态HTML页面比动态生成的...

    php生成静态页面类

    PHP 生成静态页面是一种常见的优化网站性能的技术,它将动态内容转化为静态HTML文件,以便用户在后续访问时直接加载已生成的页面,而无需每次都执行PHP脚本。这个过程可以提高网页加载速度,减轻服务器负担。下面将...

    PHP实例开发源码-PHP生成静态页面小程序.zip

    在实际应用中,可以进一步扩展这个小程序,例如加入缓存控制策略、支持参数化动态生成静态页、或者利用多线程批量生成大量页面。此外,还可以结合Web服务器的配置,比如使用Nginx的URL重写规则,来更优雅地管理和...

    PHP生成静态页面小程序.7z

    PHP生成静态页面是一种常见的优化网站性能的技术,它通过在服务器端执行PHP脚本,将动态内容转化为HTML文件,然后提供给客户端下载和浏览。这种方式可以减轻服务器负担,提高页面加载速度,尤其对于访问量大的网站...

     PHP生成静态页面并不是指PHP的动态解析,输出HTML页面,而是指用PHP创建HTML页面。

    ### PHP生成静态页面详解 #### 一、概念与原理 在Web开发中,网页可以分为两种类型:**静态页面**和**动态页面**。其中,静态页面是指预先编写好的HTML文件,每次用户访问时,服务器直接返回这个HTML文件,而不...

    PHP生成静态页面的方法

    以下将详细介绍三种PHP生成静态HTML页面的方法。 1. **基本模板写入法** 这是最基础的生成静态页面的方式。通过使用`fopen`函数打开一个模板文件(如`templets.html`),然后读取其内容,接着使用`fopen`再次打开...

Global site tag (gtag.js) - Google Analytics