我怎么能实现像DZ那样,把HTML文件当作模板一样放到PHP文件中啊。

例如DZ中index.php中的  include template('discuz');好简单啊!

我剥离了代码,如下

复制PHP内容到剪贴板

PHP代码:function template($file, $templateid = 0, $tpldir = '') {

global $inajax;

$file .= $inajax && ($file == 'header' || $file == 'footer') ? '_ajax' : '';

$tpldir = $tpldir ? $tpldir : TPLDIR;

$templateid = $templateid ? $templateid : TEMPLATEID;

$tplfile = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.htm';

$objfile = DISCUZ_ROOT.'./forumdata/templates/'.$templateid.'_'.$file.'.tpl.php';

if($templateid != 1 && !file_exists($tplfile)) {

$tplfile = DISCUZ_ROOT.'./templates/default/'.$file.'.htm';

}

@checktplrefresh($tplfile, $tplfile, filemtime($objfile), $templateid, $tpldir);

return $objfile;

}能不能把他简单化,他哪些自定义的函数变成没定义过的啊,如 DISCUZ_ROOT 等

[ 本帖最后由 Dexter.Xia 于 2008-7-2 14:18 编辑 ]

作者: Dexter.Xia

发布时间: 2008-07-01

最简单的方法:

在用户浏览时,调用模板并动态的替换相应位置并显示给用户,如:

template.html 内容如下:

当前时间为:{$time},我代表{$auther}感谢你的访问。

index.php 内容如下:

$content = file_get_contents('template.html');

$content str_replace('{$time}', date('Y-m-d H:i:s'), $content);

$content str_replace('{$auther}', '星夜迷人', $content);

echo $content;

?>

当用户访问index.php的时候,就会显示:

当前时间为:2006-07-11 18:10:40,我代表星夜迷人感谢你的访问。

这只是一个极简单的例子,还可以使用正则表式之类的进行更复杂的替换

作者: 昨夜渡轮

发布时间: 2008-07-01

可以使用一些模板引擎,也可以使用原生的PHP+HTML,具体可以参考一些那些成熟的系统。

作者: fhjr999

发布时间: 2008-07-01

看看smarty 我觉得不错 现在开始用它

作者: CrossMaya

发布时间: 2008-07-01

那DZ中是怎么实现的啊。include template('discuz'); 多简单啊。

复制PHP内容到剪贴板

PHP代码:function template($file, $templateid = 0, $tpldir = '') {

global $inajax;

$file .= $inajax && ($file == 'header' || $file == 'footer') ? '_ajax' : '';

$tpldir = $tpldir ? $tpldir : TPLDIR;

$templateid = $templateid ? $templateid : TEMPLATEID;

$tplfile = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.htm';

$objfile = DISCUZ_ROOT.'./forumdata/templates/'.$templateid.'_'.$file.'.tpl.php';

if($templateid != 1 && !file_exists($tplfile)) {

$tplfile = DISCUZ_ROOT.'./templates/default/'.$file.'.htm';

}

@checktplrefresh($tplfile, $tplfile, filemtime($objfile), $templateid, $tpldir);

return $objfile;

}能不能把他简单化,他哪些自定义的函数变成没定义过的啊,如 DISCUZ_ROOT 等

作者: Dexter.Xia

发布时间: 2008-07-02

对与你来说,最简单方法就是

include ‘moban.htm’;

DZ 则是定义了一个template函数,该函数返回的是模板的路径

在该函数内,检查了模板是否存在,而且还有个函数用来判断 模板是否需要刷新!

作者: ericwong

发布时间: 2008-07-02

引用:原帖由 ericwong 于 2008-7-2 14:22 发表

对与你来说,最简单方法就是

include ‘moban.htm’;

DZ 则是定义了一个template函数,该函数返回的是模板的路径

在该函数内,检查了模板是否存在,而且还有个函数用来判断 模板是否需要刷新!thanks

作者: Dexter.Xia

发布时间: 2008-07-02

php文件放到html中,怎么把HTML作为模板放到PHP中相关推荐

  1. C语言中比较大小的函数模板,C语言中实现模板函数小结 : 不敢流泪

    --by boluor 2009/5/20 如果要写个函数支持多种数据类型,首先想到的就是C++的模板了,但是有时候只能用C语言,比如在linux内核开发中,为了减少代码量,或者是某面试官的要求- 考 ...

  2. C语言中比较大小的函数模板,关于C++中定义比较函数的三种方法

    关于C++中定义比较函数的三种方法 C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之.以下,小编为大家介绍关于C++中定义比较函数的三种方法,供 ...

  3. IIS中WEB服务器的日志存放到SQL Server 2005中

    随着Internet的速度发展,几乎各个政府部门.公司.大专院校.科研院所等都在打算构建或正在建设自己的网站.在这个过程中,大家会遇到各种各样的问题.对Web服务器的运行和访问情况进行详细和周全地分析 ...

  4. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...

    [单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...

  5. txt或者csv数据文件的格式是有要求的,如下shell代码中说明。

    项目使用Oracle数据库,项目开发完成后,由于遗留系统的定制关系需要导入到库中,因为是一次性的,所有没有必要提供页面导入,决定使用Oracle提供的功能直接导入到Oracle库表中. txt或者cs ...

  6. c 语言如何处理表格文件中的数据库,C#程序从Excel表格中读取数据并进行处理

    今天做了一个Excel表格数据处理的事情,因为数据量表较大(接近7000条)所以处理起来有点麻烦,于是写了一个程序, 先将程序记下以便将来查找. using System; using System. ...

  7. shell中join链接多个域_Linux Shell中使用awk完成两个文件的关联Join

    Shell中的awk命令是非常强大的,有很多书籍专门介绍awk的.本文介绍的只是其中很小的一个点,使用awk命令完成两个文件的关联join. 先看看awk中的两个自身变量,NR和FNR. awk可以指 ...

  8. Android中从assets资源中读取图片文件并保存到内部存储器并加载显示在ImageView中

    场景 Android系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里./res和/assets的不同点是,android不为/assets下的文件生成ID.如果使用/ ...

  9. redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题...

    先来说下session和cookie的异同 session和cookie不仅仅是一个存放在服务器端,一个存放在客户端那么笼统 session虽然存放在服务器端,但是也需要和客户端相互匹配,试想一个浏览 ...

最新文章

  1. FPGA开发综合技巧
  2. 汽车穿越沙漠的算法问题(反推法)
  3. Java 类型转换
  4. 关于Mac设置alias别名访问服务器
  5. js setTimeout 使用方法
  6. AIX操作命令记录中
  7. git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)
  8. We want to do better without being distracted
  9. 麦克纳姆轮运动特性分析(图片版)
  10. 怎样使绝对定位的子元素铺满父元素并且子元素可以设置padding
  11. 《Adobe After Effects CS5经典教程》——1.6 预览
  12. 实时抓取图片保存到oracle数据库中、读取、注册和卸载服务等等
  13. windows下客户端连接上马上会断开连接_zookeeper系列客户端的骚操作amp; Curator使用...
  14. 微服务网关SIA-GateWay使用指南 ===
  15. TOP100summit分享实录 | JFrog高欣:Kubernetes is hard!JFrog的Kubernetes实践
  16. CSS百分比参照物整理
  17. 计算机运行内存怎么表示,如何查看电脑运行内存_如何查看电脑系统内存
  18. 区块链应用项目背景_项目路演背景介绍区块链 什么是区块链
  19. TRS_WCM(拓尔思信息技术有限公司)内容协作平台平台置标经验攻略
  20. 天翼LifePad抢占3G平板电脑市场

热门文章

  1. 拼多多季报图解:营收34亿 活跃买家数同比增长144%
  2. MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
  3. php 常用数组操作
  4. 别让双手闲下来,来做一些练手项目吧
  5. Swift基础之闭包
  6. 判断javascript数组的方法
  7. SilverLight学习笔记--建立Silverlight自定义控件(5)--绑定动画效果
  8. Java如何等待子线程执行结束
  9. gopro 8 black wifi摄像头 导入 obs 直播 解决方案
  10. linux 查看 占用内存最多 占用cpu最多 程序