让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}: ...
随机推荐
- 深入理解 Java AQS 原理与 ReentrantLock 实现
目录 一.AQS 简介 二.AQS 核心设计 2.1 核心组成部分 2.2 AQS 的工作原理 2.3 AQS 的关键方法 三.ReentrantLock 与 AQS 的关系 3.1 Reentran ...
- 【单片机】滑稽AT89C52表情实现
[单片机]滑稽AT89C52表情实现 零.原因 在群里看到了这样一个表情: 这是用51做的,刚好开发板上有8个小灯,想实现一下. 一.代码 新建工程,写入如下代码: #include<reg52 ...
- nodejs读写yaml
nodejs读写yaml npm install -g js-yaml // read.js const fs = require('fs'); const yaml = require('js-ya ...
- CH579M 以太网接收死机
CH579M进行以太网连接服务器时,可以正常连接,收发数据也可以. 但是当接收的数据量到达512左右时,CH579M就会无响应,问题出在工程设置上. 正确的设置↓↓↓↓↓ 错误的设置↓↓↓↓↓
- 探秘Transformer系列之(24)--- KV Cache优化
探秘Transformer系列之(24)--- KV Cache优化 目录 探秘Transformer系列之(24)--- KV Cache优化 0x00 前言 0x01 背景知识 1.1 度量指标 ...
- kettle安装文件下载(含多版本)
kettle是一款基于java开发的洗数工具,可以通过图像化的操作界面,拖拉拽的操作方式,实现数据导入导出清洗等功能,还支持编写脚本进行数据处理,功能十分强大. 本文主要记录一下kettle各版本下载 ...
- Marmoset Toolbag 4.02 八猴渲染器破解版 免费下载
猴安装包下载链接 https://pan.baidu.com/s/1Mgy3Mrlrb3Tvtc8w7Zn1nA?pwd=6666 提取码:6666 Marmoset Toolbag是由Monkey公 ...
- .NET AI Preview 2 发布:支持 Aspire 与 Qdrant 向量库集成,加速云原生 AI 开发
引言 随着人工智能(AI)技术的迅猛发展,开发者对简单.高效的AI开发工具需求日益增加.微软 .NET 团队最近发布了 .NET AI 模板的 Preview 2 版本,这一更新为开发者带来了诸多令人 ...
- Sentinel——热点规则
目录 热点规则 配置热点规则 API配置热点规则 热点规则 热点规则是用于实现热点参数限流的规则.热点参数限流指的是,在流控规则中指定对某方法参数的 QPS 限流后,当所有对该资源的请求URL中携带有 ...
- Spring--IOC注解用法初探
创建一个UserDao接口,和一个UserDaoImp的实现类 UserDao接口 package com.zjw.spring.demo1; public interface UserDao { p ...