让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}: ...
随机推荐
- Open R1 项目进展第一期
DeepSeek R1 发布已经两周了,而我们启动 open-r1 项目--试图补齐它缺失的训练流程和合成数据--也才过了一周.这篇文章简单聊聊: Open-R1 在模仿 DeepSeek-R1 流程 ...
- 话说Hangfire
参考文档 www.hangfire.io github.com/HangfireIO/Hangfire .NET Core开源组件:后台任务利器之Hangfire
- IDEA target中没有class文件/target中有class没有yml文件/yml文件不显示叶子
target中没有class文件.表现为文件显示红波浪线,但是点进去自己又好了,但是编译会说找不到.点进入target文件夹发现没有class文件,只有yml文件或者什么都没有 解决方法:rebuil ...
- python aiohttp异步协程实现同时执行多条请求
我们在对多个链接进行处理的时候,往往是先请求一个链接获得数据后,再请求第二个. 中间在等待返回数据时候,存在一个空闲时间,脚本啥都没干. 用aiohttp异步协程的方法,创建多条任务发送请求(理论上不 ...
- 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
数据模型的设计是编辑器的核心基础,其直接影响了选区模型.DOM模型.状态管理等模块的设计.例如在quill中的选区模型是index + len的表达,而slate中则是anchor + focus的表 ...
- C# 线程(四)——异步
参考: .NET进阶篇06-async异步.thread多线程3 - 知乎 (zhihu.com) C# Async/Await: 让你的程序变身时间管理大师_哔哩哔哩_bilibili C# 异步编 ...
- C#基础——超级方便的ExpandoObject类别
这东西是.NET Framework 4.5 的新东西..发现这个,大概就跟发现新大陆一样的兴奋,让我再次赞叹Anders Hejlsberg 之神.. 这边有MSDN : http://msdn.m ...
- RabbitMQ发布确认及备份交换机
RabbitMQ发布确认及备份交换机 可以通过设置RabbitMQ的发布确认和失败回退功能来确认消息是否成功发布. 也可以为交换机设置备份交换机,来接收不可路由的消息. demo结构 配置及实现 ap ...
- redis没有启动会报什么错???
以下是报错信息,应该是根据项目不同,具体的不太一样,但我们能清晰的看到一句 加红,加大,加粗 Caused by: redis.clients.jedis.exceptions.JedisConnec ...
- ufw配置自动管理端口转发和DNAT+MASQUERADE
端口A转发到本地的端口B 端口A转发到另一台机器的端口B(需借助DNAT) 一般情况下, 我们配置ufw来实现端口转发时会在修改 /etc/ufw/before.rules 文件, 增加*nat部分. ...