让Smarty模板生成html文件
用Smarty模板生成html文件,其实就是在 display() 的同时,增加了 ob_start()、b_get_contents() 和 fwrite() 函数。 具体实现方法,请看下面两个文件: 文件一: generate_html.php <?php
require_once('inc/smarty.inc.php');
require_once('include/config.php'); ob_start(); $title = "title";
$description = "description";
$keywords = "keywords";
$outfilename = "test.html"; $smarty->assign("TITLE", $title);
$smarty->assign("DESCRIPTION", $description);
$smarty->assign("KEYWORDS", $keywords);
$smarty->assign("CSSPATH", "/css");
$smarty->assign("TPL_LEFT", TPL_LEFT);
$smarty->assign("TPL_RIGHT", TPL_RIGHT);
$smarty->assign("TPL_TOP", TPL_TOP);
$smarty->assign("TPL_FOOTER", TPL_FOOTER);
$smarty->assign("TPL_CENTER", TPL_CATEGORY); $smarty->display(TPL_MAIN); // TPL_MAIN 等常量在 include/config.php 中已经被定义 $str = ob_get_contents(); $fp = @fopen($outfilename, 'w');
if (!$fp) {
Show_Error_Message( ERROR_WRITE_FILE );
}
fwrite($fp, $str);
fclose($fp);
ob_end_clean();
?> 文件二: templates/main.htm <html>
<head>
<{config_load file="global.conf"}>
<title><{$TITLE}></title>
<meta name="description" content="<{$DESCRIPTION}>">
<meta name="keywords" content="<{$KEYWORDS}>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="<{$CSSPATH}>/style.css" type="text/css">
</HEAD>
<body>
<table width="<{#TABLE_WIDTH#}>" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="3">
<{include file="$TPL_TOP"}>
</td>
</tr>
<tr>
<td width="<{#TABLE_LEFT_WIDTH#}>" align="left" valign="top">
<{include file="$TPL_LEFT"}>
</td>
<td width="<{#TABLE_CENTER_WIDTH#}>" align="center" valign="top">
<{include file="$TPL_CENTER"}>
</td>
<td width="<{#TABLE_RIGHT_WIDTH#}>" align="right" valign="top">
<{include file="$TPL_RIGHT"}>
</td>
</tr>
<tr>
<td colspan="3">
<{include file="$TPL_FOOTER"}>
</td>
</tr>
</table>
</body>
</html>
让Smarty模板生成html文件的更多相关文章
- 利用html模板生成Word文件(服务器端不需要安装Word)
利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...
- 根据PDF模板生成PDF文件(基于iTextSharp)
根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...
- 使用word模板生成pdf文件
使用word模板生成pdf文件 源码:UserWord
- itextsharp利用模板生成pdf文件笔记
iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件. 中文参考网站:http://hardrock.cnblogs.com/ http://pdfhome.hope.com ...
- java通过FreeMarker模板生成Excel文件之.ftl模板制作
关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xm ...
- Java根据Freemarker模板生成Word文件
1. 准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3 ...
- 根据指定Word模板生成Word文件
最近业务需要批量打印准考证信息 1.根据Table数据进行循环替换,每次替换的时候只替换Word中第一个Table的数据, 2.每次替换之后将Word中第一个Table数据进行复制,将复制Table和 ...
- freemarker根据模板生成word文件实现导出功能
一.准备工作 1.创建一个03的word文档,动态的数据用占位符标志占位(如testname).然后另存为word2003的xml文件. 2.格式化xml文件,占位符的位置用${testname}代替 ...
- java 根据html模板生成html文件
1.代码部分 import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test. ...
- Java 使用模板生成 Word 文件---基于 Freemarker 模板框架
Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: ...
随机推荐
- WEBGL 笔记
目录 前言 h2 { text-align: center } 前言 WebGL 是一个在浏览器里使用的高效渲染二维和三维图形的 javascript API,于 2006 年起源,该技术基于 Ope ...
- git 取消 git add 操作
... 按照套路我们在对项目做了一些新增或修改操作后,会很自然的执行 git add 操作, 但是马上又发现好像添加的内容有点不对: 文件名错了 多了个符号 少了点什么 马上发现bug 等等... 总 ...
- EntityFramework GroupJoin
总而言之, GroupJoin 是先 Join 后 Group, 对应的 SQL 也是先 Join, 然后通过内置 LINQ 操作分组. 参考文档 GroupJoin 方法 Reimplementin ...
- AI工具推荐:使用AnythingLLM帮助你学习
AnythingLLM介绍 AnythingLLM 是一个最容易使用的全能 AI 应用,可以进行 RAG.AI 代理等多种功能,无需编写代码或担心基础设施问题. GitHub地址:https://gi ...
- Rust实战系列-生命周期、所有权和借用
本文是<Rust in action>学习总结系列的第四部分,更多内容请看已发布文章: 一.Rust实战系列-Rust介绍 二.Rust实战系列-基本语法 三.Rust实战系列-复合数据类 ...
- C#自动属性提供默认值的方法
编程之路转自:cjavapy.com/article/55/ _ .NET(C#)中,自动属性(Auto-Implemented Properties)提供了一种简洁的方式来实现属性而无需显式定义字 ...
- xshell远程连接出现WARNING! The remote SSH server rejected X11 forwarding request.
解决办法: 编辑sshd配置文件 vi /etc/ssh/sshd_config 设置 X11Forwarding yes UserLogin no //原本的注释解开 yum install -y ...
- chatGPT:清理 master 分支的文件,并让这个分支只有一个提交
Q 我的开发工作都在 master 分支上做的,master 分支有很多的开发的时候产生的临时文件.我想清空 master 分支的历史记录.并且只保留 README.md 和 main.py A 你可 ...
- HarmonyOS NEXT开发实战教程—搜索页
今天忙里偷闲,分享一个搜索页实现过程,先上效果图: 界面部分比较简单,大体分为导航栏.历史搜索.猜你想搜和热搜榜几个部分,历史搜索采用用户首选项进行存储数据. 导航栏部分相关代码如下: Flex({d ...
- SQL 强化练习 (六)
本以为学会了Python 就已经天下无敌, 果然, 我还是太傻太天真了. 业务中几乎就没有用 Python 来直接连接数据库进行操作, 当然我是说数据这块哈. 哎, 难受, 还是用的 sql 这种方式 ...