模板能够改善网站的结构。本文阐述如何通过PHP 4的一个新功能和模板类,在由大量静态HTML页面构成的网站中巧妙地运用模板控制页面布局。 提纲: =================================== 分离功能和布局 避免页面元素重复 静态网站的模板框架 =================================== 分离功能和布局 首先我们来看看应用模板的两个主要目的: 分离功能(PHP)和布局(HTML) 避免页面元素重复 第一个目的是谈论得最多的目的,它...
PHP代码全部保存到单独的文件中,这个文件也就是由页面URL实际调用的文件。Web服务器通过PHP引擎解析该文件,然后把结果返回给浏览器。一般地,PHP代码总是动态地生成页面内容,比如查询数据库或者执行某种计算等。下面是一个例子: // example.php require('class.FastTemplate.php'); $tpl = new FastTemplate('.'); $tpl->define( array( 'main' => 'main.htm', 'header' => 'header.htm', 'leftnav' => 'leftnav.htm' ) ); // ...
避免页面元素重复 “这确实不错”,你也许会想,“我的网站主要就是由大量的静态页面构成。现在我可以从所有页面中删除它们的公共部分,要更新这些公共部分实在太麻烦了。以后我就可以用模板制作出很容易维护的统一页面布局。”但事情并非这么简单,“大量的静态页面”道出了问题的所在。 请考虑上面的例子。这个例子实际上只有一个example.php页面,它之所以能够生成整个网站的所有页面,是因为它利用了URL中的查询字符...
/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! | = PHP5研究中心: http://blog.csdn.net/haohappy2004 +-------------------------------------------------------------------------------+ */ ...
代码如下:class Shtml { var $Templet; var $DataSource; var $Dir; var $fileName; var $mod; var $handle; function Shtml($fileName="") { $this->fileName=$fileName; $this->mod="wb"; $this->handle=false; $this->Templet = ""; $this->DataSource = array(); $this->Dir = ""; } /// /// 绑定数据源,参数为一数组。 /// function BindData($arr) { ...
代码如下: function makedir($mudir) //创建目录 { $file = "./$mudir"; @mkdir($file,0777); } function writemod($filemodname) //先创子摸板文件路径 { $fp=fopen("showmod.shtml","r"); $str=fread($fp,filesize("showmod.shtml")); fclose($fp); $fp=fopen($filemodname,"w"); fwrite($fp,$str); fclose($fp); } function writeweb($content,$web,$modfile) //更新各自的子摸板文件//$mo...
代码如下: require_once("Smarty/libs/Smarty.class.php"); $smarty = new smarty(); $smarty->templates_dir="templates"; $smarty->templates_c_dir="templates_c"; $smarty->left_delimiter=" $smarty->right_delimiter="}>"; $smarty->assign("title","你成功了"); $smarty->display("test.html"); $content=$smarty->fetch("test.html"); $fp=fopen("ok.html","w"); fwrite($fp,$content); fclose($fp); ...
用PHP输出静态页面的方法,就我所知道的,有2种,一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。 第一种:利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。 这里我用smarty做例子,说明如何...
apache的强大终于超出了我的想象,仅仅蜻蜓点水般触及了一点php皮毛,这点皮毛就在我原有的知识库基础上爆炸开来,好像PN结的“雪崩击穿”一样,让我想到了多种技术结合无限的应用前景。 由于九州未来的服务器限制流量,那么减少流量负载也就能减少金钱支出。 如何减少流量,最方便的办法就是用Gzip压缩,这个apache的gzip压缩是靠一个叫做zlib的类库和gzip的模块(mod_gzip.c)完成的,这玩意专门有一帮牛人研究,因为gzip本身就大名...
代码如下:ob_start();#开启服务器缓存 include_once Index.php; $ctx=ob_get_contents();# 获取缓存 ob_end_clean();#清空缓存 $fh=fopen("index.html","w+"); fwrite($fh,$ctx);# 写入html,生成html fclose($fh); 1、Flush:刷新缓冲区的内容,输出。 函数格式:flush() 说明:这个函数经常使用,效率很高。 2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均...
代码如下:function CreateShtml() { ob_start("callback_CteateShtml"); } function callback_CteateShtml($buffer) { $page = intval(@$_REQUEST["page"]); //$fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/article/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".html"; $fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" :...
-------------------------------------------------------- 风十三 落伍首发 转载请注明作者和出处 ------------------------------------------------------ 1.如何修改默认发布为动态页; 这个其实很简单,会改html就可以了!把dede文件夹打开,用编辑器打开article_add.php,找到发布选项: 生成HTML 仅动态浏览 修改为: 发布选项: ...
代码如下://///////////////////////////////////////////////////////////////////////////// // // 张树林 - 慧佳工作室 // // Module Name: woods-bhtml.php // Abstract: 生成静态HTML处理程序尾底 // Version: 2.0 // Date 1006-11-25 // Author: woods·zhang // Website: http://www.hoojar.com/ // Email: hoojar@53.com // MSN:...
转自bbs.dedecms.com 1、将include复制到网站中的include目录。 2、修改数据库 将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令: update dede_archives set ismake=-1 并将ismake的默认值设置为 -1即动态。 将所有栏目设置为“使用动态页”,可以进入数据库管理中,执行下面命令: update dede_arctype set isdefault=-1 并将isdefault的默认值设置为 -1即动态。 3、加入服务器重写规则,对于Apache2,可以在http...
function CreateShtml() { ob_start(array("callback_CreateShtml","callback_GoToShtml")); } function callback_CreateShtml($buffer) { $page = intval(@$_REQUEST["page"]); $fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm"; $fp = fopen($fileName,"wb"); fwrite($fp,$buffer); fclose($...