admin 管理员组文章数量: 887021
2023年12月16日发(作者:织梦转百度小程序模板)
PHP生成HTML静态页面类
/*
的代码
$sc=new template();
//$sc=new template($tmp,$filename,$arr); (本来这里直接用构造函数来实现的,考虑到会有很多的生成静态页的进程,还是改为函数调用,本处保留备用,在类中template()替换成templateHtml()即可实现)
$tmp="../template/"; //模板页
$filename=""; //生成页
$foot="../"; //包含的底文件,头文件同理
$arr=array();
$arr["{title}"]="新标题";
$arr["{text}"]="新内容";
$arr["{foot}"]=$sc->readHtml($foot);
$sc->templateHtml($tmp,$filename,$arr);
*/
class template
{
var $temp;
var $html;
var $err;
var $test;
var $arr;
键值->替换内容)
function template()
{
$this->temp="";
$this->html="";
$this->err=0;
$this->test="";
//读取的模板页文件名(包含路径)
//要生成的html文件名(包含路径)
//错误编号
//数据流
//要替换的数组 模式(键名->模板标签 ,
}
function templateHtml($temp,$html,$arr)
{
$err=$this->chkFile($temp);
if((int)$err==0)
{
$fp=fopen($temp,"r"); //只读方式打开模板页
$test=fread($fp,filesize($temp)); //读取模板页的数据流
$test=$this->arr_replace($arr,$test); //替换文件
$err=$this->writefile($html,$test); //生成静态页
}
echo "由模板页 ".$temp." 生成 ".$html.$this->error($err);
return;
}
/*
*判断文件是否存在
*返回错误提示
*/
function chkFile($file)
{
if (file_exists($file))
{
return 0;
}
return 1;
}
/*
*根据数组文件内容,替换数据流 模式(键名->模板标签 , 键值->替换内容)
*返回数据流
*参数$arr:数组
*参数$test :数据流
*/
function arr_replace($arr,$test)
{
$ss=$test;
foreach ($arr as $key => $value)
{
$ss= str_replace($key,$value,$ss);
}
return $ss;
}
/*
*将数据流,写入到文件中
*返回执行状态
*参数$html:要生成的html文件
*参数$test :数据流
*/
function writefile($html,$test)
{
$stat=2;
if($this->chkFile($html)==0) // {
$stat=0;
}
if($f=fopen($html,"w")) //创建
判断文件是否存在
//已经存在返回0
写入方式打开文件,不存在则
{
fputs($f,$test);
fclose($f);
$stat=0; //写入成功返回0
}
else
{
$stat=2;
}
return $stat;
}
/*
*错误提示
*返回错误提示
*参数$err:错误编号
*参数$file :错误文件
*/
function error($err)
{
$message="";
switch((int)$err)
{
//写入失败返回2
case 0 :
$message=" 静态页生成成功";
break;
case 1 :
$message=" 模板页打开失败,请检查是否存在";
break;
case 2 :
$message=" 文件生成失败,请检查目录权限";
break;
default:
$message=" 未知错误";
}
return $message;
}
/*
*
*主要用来读取模板页,返回数据流 (比如top,foot公用文件,)
*参数$file :模板页路径
*/
function readHtml($file)
{
$test="";
$err=$this->chkFile($file);
if($err==0)
{
$fp=fopen($file,"r");
模板页
$test=fread($fp,filesize($file));
流
}
else
{
$test=$file.$this->error($err);
}
return $test;
}
/*
*
*主要用来删除已生成的文件,不返回
//只读方式打开//读取模板页的数据
*参数$file :文件路径
*/
function delete_file($file)
{
if (file_exists($file))
{
$delete = chmod ($file, 0777);
$delete = unlink($file);
if(file_exists($file))
{
$filesys = eregi_replace("/","",$file);
$delete = system("del $filesys");
clearstatcache();
if(file_exists($file))
{
$delete = chmod ($file, 0777);
$delete = unlink($file);
$delete = system("del $filesys");
}
}
clearstatcache();
}
}
}
?>
欢迎光临易易充值:
版权声明:本文标题:php生成html静态页面类 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702720957h428035.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论