`
bardo
  • 浏览: 371525 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11590
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:9966
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9326
社区版块
存档分类
最新评论

[转]PHP生成静态网页的两种方法 ( 2006-10-25 20:45 )

    博客分类:
  • PHP
阅读更多
PHP生成静态网页的两种方法   
原理很简单的, 关键是生成的策略
这里没讲
第一种:利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。

PHP代码举例:
<?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代码举例:
<?php
ob_start();
echo "Hello World!";
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>

分享到:
评论

相关推荐

    php生成静态html页面的方法(2种方法)

    在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、ob系列的函数,本文给大家分享php生成静态html页面的方法(2种方法),感兴趣的朋友...

    动态网页静态化 v11.0.zip

    动态网页跟静态是两种概念。如index.php(动态) index.html(静态) 。动态是需要连接服务器端。静态就是客户端。用户访问静态页面,它不会向服务器端请求改变什么的事件。动态转换成静态就是把把大量的信息可以快速的...

    X-Cart Gold 4.5.4.zip

    [*] 2011年10月2012年20的随机 - 改善(0126864):贝宝:交易ID在订单的详细信息,现在打开了贝宝的详细信息页面。 [* 2012年10月09日,目标 - 改进(0126873):直接的SQL查询付款方式func_get_pm_params要求。 ...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法 PHP100视频教程48:Ajax+PHP快速上手及应用 PHP100视频教程49: Ajax+PHP打造等待进度条效果(二) PHP100视频教程50: Ajax+PHP检查用户名或邮件(三) ...

    论文研究-PHP程序污点型漏洞静态检测方法.pdf

    针对基于PHP语言开发的Web应用程序产生的污点型漏洞,提出一种静态代码分析检测的方法。提出的生成控制流图的算法,基于PHP内置函数解析PHP程序,生成抽象解析树,进而生成控制流图;对内置特征、入口点和敏感点进行...

    php课程(共100多节)

    47:PHP输出CSV和EXCEL两种简单的方法 48:Ajax+PHP快速上手及应用 49: Ajax+PHP打造等待进度条效果(二) 50: Ajax+PHP检查用户名或邮件(三) 51:PHP+MYSQL会员系统的开发(上) P100视频教程52:PHP+MYSQL会员...

    JSP生成静态页实践及其设计思想[转]

    智联虽然用的是asp,但他采用了另一种更巧妙的技术–asp生成静态页技术。所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。下面我们讨论一下jsp怎么转换成html??首先要做一个模板。后缀不限,...

    ThinkPHP 3.1.2 - PHP的开发框架MVC - 含Core,Extend,Example

    模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的 模板标签,融合了Smarty和JSP标签库的思想,并内置布局模板功能和标签库扩展 支持。通过驱动还可以支持Smarty、EaseTemplate、TemplateLite...

    PHP动态变静态原理

    两种方法,看起来都差不多,但是实际上,却是不同的。 第一种:利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们...

    MingW VC 之.a .lib .dll .def 关系

    然而,这两种文件的格式据说也是相同的,然而我们发现lib和a无法通用!(请注意,这里的静态库lib不是调用dll时的那种静态库lib。那种lib只是起到索引和连接dll的功能,而这里所说的静态库是脱离dll工作的库,函数...

    smarty实现PHP静态化的两种方法分享

    用smarty实现纯静态化的文件发布有两种方法,也就是纯HTML文件生成的方法,包括以下两种方法,需要的朋友可以参考下

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)...

    服务器应用简介.doc

    因此,web服务器的配置首先应确定服务器软件 目前,INTERNET上较为流行的两种web服务器软件是Apache和微软的IIS,IIS主要定 位于小型的INTRANET环境,运行于WINDOWS NT/2000/XP/2003 Server平台,而Apache则有多种...

    PHP微信支付WxPayPubHelper

    * 接口分三种类型: * 【请求型接口】--Wxpay_client_ * 统一支付接口类--UnifiedOrder * 订单查询接口--OrderQuery * 退款申请接口--Refund * 退款查询接口--RefundQuery * 对账单接口--DownloadBill * 短...

    PHP 面向对象技术(全面讲解).txt

    上面看到PHP 对象中的成员有两种一种是成员属性,一种是成员方法。对象我们以经可以声明 了,$p1=new Person();怎么去使用对象的成员呢?要想访问对象中的成员就要使用一个特殊的操 作符“-&gt;”来完成对象成员的访问...

    ExtAspNet_v2.3.2_dll

    -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)...

    PHP_7天排班程序

    简单的排班程序,只给出代码,排班程序分为两种,一种是静态的,另一种是随机动态的,排班分全天,上午和下午三个排班,根据随机动态生成的排班信息重新插入到静态的排班信息表中,从而生成新的排班。想了一个下午。...

    DYHB-blog v1.4 正式版.rar

    3:衔接系统:衔接以图片和文字两种方式展现,并出现在侧边栏widget中和导航条中, 4:音乐系统:程序提供两种音乐展现系统,网络地址版, 5:附件系统:程序提供两种附件格式,防盗链格式 正常格式,当然就是图片...

Global site tag (gtag.js) - Google Analytics