php smartry生成静态页的解决办法

内容摘要
这篇文章主要为大家详细介绍了php smartry生成静态页的简单示例,具有一定的参考价值,可以用来参考一下。

对php smartry生成静态页对此感兴趣的朋友,看看idc笔记做的技术笔记!
文章正文

这篇文章主要为大家详细介绍了php smartry生成静态页的简单示例,具有一定的参考价值,可以用来参考一下。

对php smartry生成静态页对此感兴趣的朋友,看看idc笔记做的技术笔记! php代码如下:

<?php
/* 以下是我在工作中对php生成静态页的一种方法
*/
require('libs/Smarty.class.php');
$tpl=new Smarty();
$tpl->template_dir='./templates/';
$tpl->compile_dir='./templates_c';
$tpl->config_dir='./config/';
$tpl->cache_dir='./cache/';
$tpl->left_delimiter='<{';
$tpl->right_delimiter='}>';
ob_start(); //打开输出缓冲区
$tpl->assign('s_title',$_POST['title']);//设置网站标题
//以下为接受传递过来的变量并赋值到模板页成功");
}else{
echo ("<script>alert('生成静态页面失败!')</script>")
}
?>
/***********************************************************************
+ ---------------------------------------------------------------------
+ 生成静态文件的过程函数
+ ---------------------------------------------------------------------
************************************************************************/
function tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content)
{
//$dir_name =date("Ymd"); //以当前日期,创建应该生成的静态页面所要存入的目录
//if (!is_dir($dir_name)) //先判断是否已经创建了此目录!无,则先创建此目录
//{
//mkdir($dir_name);
//}
if (is_file ($file_cjjer_name)){
@unlink ($file_cjjer_name);
}
$cjjer_handle = fopen ($file_cjjer_name,"w");
if (!is_writable ($file_cjjer_name)){
return false;
}
if (!fwrite ($cjjer_handle,$file_cjjer_content)){
return false;
}
fclose ($cjjer_handle); //关闭指针
return $file_cjjer_name;
}
/*** 来自php教程(www.idcnote.com) ***/
Smarty最大的功能是做模版的页面缓存。也就是通过Smarty可以完成两个步骤:编译+解析第一步:编译。是指把模版文件的标签替换为纯php,再保存在缓存位置,保存的文件扩展名是PHP,我把这个步骤叫做编译(这是我自己的叫法,不是官方的)第二步:解析。也就是把刚才编译的PHP文件解析执行而已~~这个就不用多做解释了切入正题,在Smarty.class.php文件中加入如下代码 php代码如下:

function MakeHtmlFile($file_name, $content) { //目录不存在就创建
if (!file_exists (dirname($file_name))) {
if (!@mkdir (dirname($file_name), 0777)) {
die($file_name."目录创建失败!");
}
}
if(!$fp = fopen($file_name, "w")){
echo "文件打开失败!";
return false;
}
if(!fwrite($fp, $content)){
echo "文件写入失败!";
fclose($fp);
return false;
}
fclose($fp);
chmod($file_name,0666);
}
/*** 来自php教程(www.idcnote.com) ***/
这个函数的作用就是保存文件~~调用方法如下 php代码如下:

require '../libs/Smarty.class.php'; $smarty = new Smarty;
//&hellip;&hellip;&hellip;&hellip;省略变量定义和赋值
//$smarty->display('index.tpl');
$content=$smarty->fetch("index.tpl");
$smarty->MakeHtmlFile('./index.html',$content);//生成
/*** 来自php教程(www.idcnote.com) ***/

注:关于php smartry生成静态页的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!