首页 php教程 php手册 一个php生成html类程序

一个php生成html类程序

May 25, 2016 pm 04:57 PM
fopen

来这里直接用构造函数来实现的,考虑到会有很多的生成静态页的进程,还是改为函数调用,本处保留备用,在类中template()替换成templateHtml()即可实现,

*/

 代码如下 复制代码

class template
{
var $temp;               //读取的模板页文件名(包含路径)
var $html;               //要生成的html文件名(包含路径)
var $err;                //错误编号
var $test;               //数据流
var $arr;                 //要替换的数组 模式(键名->模板标签 , 键值->替换内容)

  function template()
   {
   $this->temp="";              
      $this->html="";              
      $this->err=0;               
      $this->test="";              
   }

   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;                   //已经存在返回0
   }
  
      if($f=fopen($html,"w"))      //写入方式打开文件,不存在则创建
   {
       fputs($f,$test);
    fclose($f);
       $stat=0;                //写入成功返回0
   }
   else
   {
       $stat=2;               //写入失败返回2
   }
      return $stat;
   }
/*
*错误提示
*返回错误提示
*参数$err:错误编号
*参数$file :错误文件
*/   
function error($err)
{
    $message="";
 switch((int)$err)
 {
 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();
    }
}
  
}

/*
调用方法

demo.html的代码

{title}
{text}


$sc=new template();
//$sc=new template($tmp,$filename,$arr);   ()

$tmp="../template/temp.php教程";    //模板页
$filename="test.html";          //生成页
$foot="../foot.html";           //包含的底文件,头文件同理

$arr=array();
$arr["{title}"]="新标题";
$arr["{text}"]="新内容";
$arr["{foot}"]=$sc->readhtml($foot);

 

$sc->templatehtml($tmp,$filename,$arr);



本文地址:

转载随意,但请附上文章地址:-)

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决PHP Warning: fopen(): failed to open stream: No such file or directory 如何解决PHP Warning: fopen(): failed to open stream: No such file or directory Aug 19, 2023 am 10:44 AM

如何解决PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory在使用PHP开发过程中,我们经常会遇到一些文件操作的问题,其中之一就是"PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory

如何解决PHP Warning: fopen(): SSL operation failed in file.php on line X 如何解决PHP Warning: fopen(): SSL operation failed in file.php on line X Aug 25, 2023 am 09:22 AM

如何解决PHPWarning:fopen():SSLoperationfailedinfile.phponlineX在PHP编程中,我们经常使用fopen函数来打开文件或者URL,并进行相关操作。然而,在使用fopen函数时,有时候会遇到类似于Warning:fopen():SSLoperationfailedinfile.p

如何解决PHP Warning: fopen(): failed to open stream: Permission denied 如何解决PHP Warning: fopen(): failed to open stream: Permission denied Aug 20, 2023 pm 01:45 PM

如何解决PHPWarning:fopen():failedtoopenstream:Permissiondenied在开发PHP程序的过程中,我们常常会遇到一些报错信息,比如PHPWarning:fopen():failedtoopenstream:Permissiondenied。这个错误通常是由于文件或目录权限不正

Matlab中fopen函数用法 Matlab中fopen函数用法 Nov 28, 2023 am 11:03 AM

在Matlab中,fopen函数用于打开文件并返回文件标识符,以便后续对文件进行读取或写入操作。根据需要选择适当的权限选项来打开文件,并在操作完成后及时关闭文件。需要注意的是,打开文件后需要确保在不再需要文件时及时关闭文件,以释放系统资源。另外,如果文件打开失败或操作出错,可以通过错误处理机制进行相应的处理。

php如何使用fopen、fwrite和fclose进行文件操作? php如何使用fopen、fwrite和fclose进行文件操作? Jun 01, 2023 am 08:46 AM

在PHP开发中,对文件的操作是非常常见的。一般情况下,我们需要进行文件的读取、写入、删除等操作。其中,文件的读取可以使用fopen函数和fread函数,文件的写入可以使用fopen函数、fwrite函数和fclose函数。本文将介绍php如何使用fopen、fwrite和fclose进行文件操作。一、fopen函数fopen函数用于打开文件,它的语法如下:r

在C语言中,使用fopen()函数以写模式打开现有文件 在C语言中,使用fopen()函数以写模式打开现有文件 Aug 27, 2023 pm 10:33 PM

C中的fopen()方法用于打开指定的文件。我们举个例子来理解一下问题语法FILE*fopen(filename,mode)以下是使用fopen()打开文件的有效模式:‘r’、‘w’、‘a’、‘r+’、‘w+’、‘a+’。详细信息请访问C库函数-fopen()

如何解决PHP警告:fopen():无法打开流:第X行的file.php中没有这样的文件或目录 如何解决PHP警告:fopen():无法打开流:第X行的file.php中没有这样的文件或目录 Aug 26, 2023 pm 12:46 PM

如何解决PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectoryinfile.phponlineX在开发和运行PHP程序时,我们有时会遇到PHPWarning:fopen():failedtoopenstream:Nosuchfileor

php中fopen函数的用法是什么 php中fopen函数的用法是什么 Sep 18, 2021 pm 03:43 PM

php中fopen函数的用法是“fopen(filename,mode,include_path,context)”。fopen()函数用来打开一个文件或者是url,如果失败则返回false并附带错误信息。

See all articles