一般来说 用php转换输出html页面有两种办法:
第一种:利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页
require('smarty/Smarty.class.php');
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
第二种方法:利用ob系列的函数。这里用到的函数主要是 ob_start(), ob_end_flush(), ob_get_content(),其中ob_start()是打开浏览器缓冲区的意思,打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区,直到你使用了ob_end_flush().而这里最重要的一个函数,就是ob_get_contents(),这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),道理一样的。代码:
ob_start();
echo "Hello World!";
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
我选用的第2种方法 也就是用ob系列的函数
我刚开始看这个的时候有点不太明白 后来才知道ob是output buffering的意思 也就是输出缓存
当你准备输出的时候 所有的数据都保存在ob里面 服务器解析完php以后 把所有要输出到客户端的html代码都存放在ob里面 如果我们要输出html静态页面 只要把缓存取出来写入一个html页面即可
所以原理其实是很简单的
这里用到了几个函数 由于我初学php 很多函数我还不了解 所以这里也说明一下 希望可以帮助大家
ob_start():开始“捕捉”缓存 也就是从这里开始 打开浏览器的缓存
ob_end_flush():关闭浏览器缓存
ob_get_content():读取缓存内容
fopen("文件路径","打开模式")打开文件 97xxoo这个函数的打开模式有好几种 下面介绍几种主要的模式:
'r' 只读方式打开,将文件指针指向文件头。??
'r+' 读写方式打开,将文件指针指向文件头。??
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。??
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。??
fwrite("文件名称","写入内容") 写入文件
fclose() 关闭文件
由于我要转换的html文件非常多 可能有几百个 所以这里不能静态指定fopen的路径 大家可以设置一个路径变量 里面可以保存用户传来的id等信息 方便进行html文件命名 下面是我结合上次php读取xml数据的一个简单例子 程序代码
ob_start();//打开浏览器缓存
?>
分享到:
相关推荐
直接静态化是指在处理请求时,将生成的HTML内容直接保存为静态文件。当后续相同的请求到达时,服务器会直接返回这个静态文件,而不是再次执行PHP脚本。这种方法的优点在于减少了服务器的计算负担和数据库查询,提高...
PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...
当用户访问已经静态化的页面时,Web服务器可以直接返回预先生成的HTML文件,无需再解析PHP脚本,执行数据库查询等复杂操作。这极大地减少了服务器响应时间,提升了用户体验,同时减轻了数据库和服务器CPU的压力。 *...
"PHP生成静态化实例"这一主题涉及到的是通过PHP动态生成HTML页面并将其存储为静态文件的技术。这一过程通常被称为静态化或者静态网页生成,对于提高网站性能、减轻服务器压力以及优化搜索引擎排名等方面都有显著的...
### PHP 实现页面静态化详解 #### 一、概述 在现代Web开发中,提高网站性能和用户体验至关重要。其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两...
HTML静态化是一种优化网站性能的技术,它涉及到将动态生成的HTML页面转化为静态的HTML文件,以便于更快地向用户展示内容。这种技术在Web开发中广泛使用,特别是对于那些内容更新频率较低,但访问量大的网站,如新闻...
标题“首页静态化步骤”指的是将网站的动态首页转换为静态HTML页面的过程,这有助于提高网站的加载速度、减轻服务器负担以及优化搜索引擎排名。在Web开发中,首页静态化是常见的性能优化手段。 首先,我们需要了解...
**页面静态化**是指将动态生成的HTML页面保存为静态文件,之后的用户请求不再通过服务器动态生成,而是直接读取这些静态文件,从而减轻服务器负担,提高响应速度。在JSP中实现静态化,可以通过拦截并重定向JSP内置...
JSP页面静态化就是将动态JSP页面转化为静态HTML的过程。当用户首次访问动态JSP页面时,服务器会生成对应的HTML页面并保存,后续的相同请求则直接返回该HTML,不再执行JSP的逻辑。这种方式可以显著提升网站性能,尤其...
在IT行业中,静态化HTML企业站程序是一种常见的网站构建方式,尤其适合新手学习和测试。这种程序能够将动态内容转化为静态HTML页面,从而提高网站的加载速度和搜索引擎优化(SEO)效果。以下是对这个主题的详细说明...
全站静态化是将整个网站的所有页面都转换为静态HTML文件,用户请求时直接读取这些文件,无需服务器动态生成。部分页面静态化则只对经常访问或对性能要求高的页面进行静态化处理。 在CMS系统中实现页面静态化,通常...
页面静态化处理是一种提高网站性能和用户体验的技术,它将动态生成的网页转换为静态HTML文件,用户请求时直接返回这些预先生成的文件,而非每次都执行数据库查询和其他服务器端逻辑。这种方式降低了服务器负担,加快...
`Rewrite`文件、IIS(Internet Information Services)静态文件配置以及PHP网站静态化文件是实现这一目标的关键技术环节。下面将详细解释这些概念及其在实际应用中的作用。 1. **Rewrite文件**: `Rewrite`文件...
全站静态化是一种常见的优化手段,尤其对于内容管理系统(CMS)如ZBlog来说,它能将动态生成的网页转换为静态HTML文件,从而加快页面加载速度。本文将深入探讨ZBlog全站静态化的概念、优点、实现方式以及相关插件。 ...
静态HTML页面相比于动态PHP页面,具有更快的加载速度和更低的服务器资源消耗,尤其对于高访问量的网站,静态化能显著提高用户体验。 首先,我们需要理解PHP动态页面的工作原理。当用户访问一个PHP页面时,服务器...
这里提到的"自定义分页类+页面静态化+PHP"是一个关于如何在PHP环境中实现高效且可定制化的分页功能,并结合页面静态化技术提升网站性能的实践案例。 首先,让我们详细了解一下自定义分页类。分页类通常包含了计算总...
"wordpress全站静态化插件.zip" 提供的正是这样一种解决方案,它能够帮助WordPress用户一键将整个网站转换为HTML静态文件。 一、静态化技术的优势 1. **性能提升**:静态HTML页面的加载速度通常比动态PHP页面更快,...
1. 静态化原理:静态化插件工作时,会将原本由数据库驱动的动态TAG页面转换为HTML静态文件。这样,当用户访问TAG页面时,服务器无需执行PHP脚本,直接返回预先生成的HTML,大大降低了服务器压力,提高了页面加载速度...
1. 静态化原理:动态网页在用户访问时,服务器需要运行PHP等脚本语言生成页面,而静态HTML文件则直接由浏览器读取,无需额外处理。静态化插件通过将动态内容转换为静态HTML,减少了服务器的工作量。 2. 优势:全站...