您的位置:

php网站生成静态网页,php生成静态html

本文目录一览:

PHP页面怎么生成静态的HTML页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。

在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。 

一般分这几步:

1、通过URL传递一个参数(ID);

2、然后根据此ID查询数据库;

3、取得数据后根据需要修改显示内容;

4、assign需要显示的数据;

5、display模板文件。

Smarty静态化过程只需要在上述过程中添加两个步骤。

第一:在1之前使用 ob_start() 打开缓冲区。

第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。

 

根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。

PHP网站如何实现网页伪静态或静态?

伪静态实现方式两种:

1. web服务器上设置.html或者.htm等后缀的页面也通过PHP来处理即可,比如Nginx或者Apache,都有这样的配置文件,设置PHP处理的文件后缀类型,这样前台请求的htm文件,实际上是PHP代码

2. 通过设置web服务器的rewrite规则来实现,每个web服务器基本上都有这个功能,看看手册即可实现

真正的静态实现:

通过CMS发布系统,后台直接生成真正的静态页面,比如新闻网站的新闻发布系统,后台录入内容后,直接生成html的静态结果页面给用户来访问,PHP有好多开源的CMS发布系统,你可以下载了研究研究,也可以使用模板引擎smarty来生成静态页面。

如何用PHP输出静态页面

用PHP输出静态页面有2种方法

一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。

第一种:利用模板

目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart template等。

它们每一种模板,都有一个获取输出内容的函数。

我们生成静态页面的方法,就是利用了这个函数。

用这个方法的优点是,代码比较清晰,可读性好。

这里我用smarty做例子,说明如何生成静态页

?php

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(),

道理一样的。代码:

?php

ob_start();

echo "Hello World!";

$content = ob_get_contents();//取得php页面输出的全部内容

$fp = fopen("0001.html", "w");

fwrite($fp, $content);

fclose($fp);

?

谁能说说php生成静态网页的应用方式? - PHP进阶讨论

第一种:利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。 第二种方法:利用ob系列的函数。这里用到的函数主要是 ob_start(), ob_end_flush(), ob_get_content(),其中ob_start()是打开浏览器缓冲区的意思,打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区,直到你使用了ob_end_flush().而这里最重要的一个函数,就是ob_get_contents(),这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),道理一样的。 方法三:下面转贴一个比较通用且好懂的 前言:目前网络上好多网站的新闻发布系统都采用了动态服务器技术生成静态HTML的做法,这样做的好处是:一是能减轻其服务器的负担,二是因为生成了HTML静态页面,所以其网站被搜索引擎搜索到的机率更大一些。笔者的网站曾经使用PHP这一动态技术来构建新闻发布系统,其原理也就是应用了PHP生成HTML静态页面的技术,相关平台是 Windows XP Sp2+php4.32+mysql,因此,在这里,想简单地谈一下这种做法的思路。这篇文章适合于对PHP+MYSQL数据库操作,SQL语句以及网页设计有点基础的朋友,如果您是一个从头开始学的朋友,那么请先打好基础吧!到这里就不用往下看了。如果您都符合上述条件的话,那么恭喜您,请接着往下看。但是,在具体动手构建之前,您还要做好以下几点准备工作。 一、 具备本地调试PHP的功能 在WINDOWS XP操作系统下,笔者建议你可以到网上下载一个PHP+MYSQL+APHCHE的服务器套装,如华军软件园,去那里搜索一下就可以下载到。下载完后默认安装即可,这样您就具备了在本地测试PHP的功能了,省去了很多手动配置的麻烦,怎么样,简单吧,OK,这仅仅只是第一步。 二、 构思新闻发布系统所具备的功能 首页的新闻发布往往是通过后台更新的,后台的更新无非是由添加、编辑、删除数据等基本的功能所实现的。在这里,你可以使用网页设计软件来构建你的想要的后台界面,其功能的实现当然是要用到PHP喽。这一步建议您先想好新闻发布系统要有的功能。在这里,如何用PHP添加、编辑、删除数据就不再重复,因为重点是如何在这基础上生成静态技术。

php如何生成静态网页?

静态页面加载速度快(什么是静态页面),利于搜索引擎蜘蛛抓取,所以很多朋友都想把动态页面生成静态页面,那么今天就来介绍下如何用php生成静态网页。 思路大致是这样的:

1.设计一个静态页面的模板,需要填充内容的地方用一些符合或者参数代替(不能与其他代码重复),如下图(简图):

2.用php读取数据库里的内容,将需要填充内容的符号用读取到的内容替换掉。比如模板是上图,则把{title}替换成网页标题,将{content}替换成网页内容。这是可以用php中的preg_replace函数进行替换。

3.将替换后的内容保存为html或者htm文件。比如可以保存为news_1.html,这样在浏览器里就可以访问这样的一个静态网页了。

通过以上三步就可以用php生成静态页面了,以上只是一个简单的思路,在实际生成静态页面的过程中可能会更加复杂,只要用心,多学习php中的函数,多思考就不会有问题难倒你。

php静态页面怎么做?详细点

确实有点笼统。不过我可以跟楼主大概说一下思路 一般的生成静态页面的方法就先制作一个静态模板,在里面需要动态改变的东西用特殊的代码标记,然后再用PHP将标记替换后生成文件进行保存。 比如:body div{:This is the content:}/div /body 这个里面的{:This is the content:}就是一个特殊的标记。我们设这段代码在a.html文件中,我们用PHP将他读入,?php $b='这里是内容,可以从数据库读取,或者从其他途径获得'; $fp=fopen('a.html','r'); $content=fread($fp,filesize('a.html')); fclose($fp); $content=str_replace('{:This is the content:}',$b,$content);(额。。这个函数参数顺序记不太清楚了) $fp1=fopen('b.html','w'); fwrite($fp,$content); fclose($fp); ? 这样我们就得到了b.html这个文件,就是一个静态的文件,里面的代码如下: body div这里是内容,可以从数据库读取,或者从其他途径获得/div /body 这样说,楼主明白了吧? 其实一般的网站是不需要生成这样的静态页面的,流量低的网站命中率也就低了,而且更新起来非常麻烦。这就需要用到一些其他的技术的。比如SSI啊,比如只保存数据库查询结果啊。什么的