澳门新葡萄京娱乐场php生成html静态页面完整实例

?php date_default_timezone_set( Asia/Shanghai);

addform.php文件

*/

class TCreateHTML{var $HTemplate; //模板的文书var $FileName;
//新文件名称var $HTFile帕特h;//产生文书的路子var $ModiString; var
$ReTextArray;//替换音信数组var $strText=; //文本内容var $CrType=1;
//发生文件名称的花色 默以为日期+4位 随机数var $errorStr; //错误消息!

 代码如下

 代码如下

//********接口函数 //构造模板 function TCreateHTML(State of Qatar{}

  <form action=”add.php” method=”post” >
   消息题目:
  <input type=”text” name=”title” /><br>
  音信内容:<br>
  <textarea name=”content”
rows=”10″ cols=”50″ >

class template
{
var $temp;               //读取的模版页文件名(包涵路线卡塔尔(قطر‎
var $html;               //要调换的html文件名(蕴含路径卡塔尔国
var $err;                //错误编号
var $test;               //数据流
var $arr;                 //要替换的数组 格局(键名->模板标签 ,
键值->替换内容State of Qatar

//创立文件function
CreatrHtml(卡塔尔{//检查模板路线是或不是合法if(!$this-CheckPath($this-HTemplate,0)){return
false;}

  </textarea><br>

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

//检查新生文件路线是或不是合法if(!$this-CheckPath($this-HTFilePath,1卡塔尔(قطر‎卡塔尔{return
false;} $fp=fopen($this-HTemplate,r卡塔尔; //只读展开模板
$this-strText=fread($fp,filesize($this-HTemplate卡塔尔国卡塔尔(قطر‎;//读取模板中内容
fclose($fpState of Qatar;

  <input type=”submit” name=”submit” value=”提交”/>

   function templatehtml($temp,$html,$arr)
   {
  $err=$this->chkfile($temp);
  if((int)$err==0)
  {
        
$fp=fopen($temp,”r”State of Qatar;                      
//只读形式展开模板页
      $test=fread($fp,filesize($temp卡塔尔国State of Qatar;          //读取模板页的数据流
      $test=$this->arr_replace($arr,$test卡塔尔;            
//替换文件    
         $err=$this->writefile($html,$testState of Qatar;              
//生成静态页
  }
      echo “由模板页 “.$temp.” 生成 “.$html.$this->error($err);
   return;
   }    

//替换文件$this-ReplaceText(卡塔尔(قطر‎;//生成文件名称$this-CreateName(卡塔尔国;

  </form>

/*
*判别文件是不是留存
*回到错误提醒
*/

$handle=fopen($this-FileName,w卡塔尔; //写入措施张开音信路线fwrite($handle,$this-strText卡塔尔国; //把刚才替换的剧情写进生成的HTML文件
fclose($handleState of Qatar;

add.php文件

function chkfile($file)
{
 if (file_exists($file))
 {
  return 0;
 }
 return 1;
}
  
/*
*依照数组文件内容,替换数据流  情势(键名->模板标签 ,
键值->替换内容State of Qatar
*归来数据流
*参数$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($htmlState of Qatar==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”State of Qatar;                       //只读方式展开模板页
      $test=fread($fp,filesize($fileState of Qatar卡塔尔国;          //读取模板页的数据流
   }
   else
   {
      $test=$file.$this->error($err);
   }
  
   return $test;

return true;}

 代码如下

}

function CheckPath($pStr,$type){ if($type==0){ if(!file_exists($pStr卡塔尔(قطر‎卡塔尔{
$this-errorStr=文件夹路线有误!; return false;}}else{$arrPath = explode
(/, $pStr);$s_Path=; foreach ($arrPath as $tag) {if($s_Path==){
$s_Path .= $tag;}else{ $s_Path .=/.$tag;}

<?php
require_once(“mysql_inc.php”);
//引用conn.php,连接数据库

/*
*
*重大用于删除已改变的文件,不回来
*参数$file :文件路线
*/

$title=$_POST[‘title’];
$content=$_POST[‘content’]; //获得表单变量

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();
    }
}
  
}

//以下建设构造一文本文书档案,其值自动计数
$countfile=”count.txt”;
if(!file_exists($countfile))
{
fopen($countfile,”w”卡塔尔(قطر‎;
//假使此文件官样文章,则自动组建二个
}
$fp=fopen($countfile,”r”);
$num=fgets($fp,20);
$num=$num+1; //每一次其值自动加一
fclose($fp);
$fp=fopen($countfile,”w”);
fwrite($fp,$num卡塔尔(قطر‎; //更新其值
fclose($fp);

/*
调用方法

//利用方面自动计数的值得到HTML的路线$path
$houzui=”.html”;
$path=$num.$houzui;
//那样造成的门路是机动增进的,如1.html,2.html,3.html……….增添一条新闻便自动抬高1

demo.html的代码
<html>
<head><title>{title}</title></head>
<body>{text}</body>
<html>

//以下用SQL语句增添数据至表 news
$sql=”insert into news (id,title,content,path) values
(”,'”.$title.”‘,'”.$content.”‘,'”.$path.”‘)”;
$query=mysql_query($sql);

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

//以下为关键之处,把从表单获得的多少替换模板中的{title},{content}标识
$fp=fopen(“mode.html”,”r”卡塔尔国; //只读张开模板
$str=fread($fp,filesize(“mode.html”卡塔尔卡塔尔国;//读取模板中内容
$str=str_replace(“{title}”,$title,$str);
$str=str_replace(“{content}”,$content,$str卡塔尔;//替换内容
fclose($fp);

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

$handle=fopen($path,”w”卡塔尔国; //写入措施展开消息路径
fwrite($handle,$str卡塔尔国; //把刚才替换的剧情写进生成的HTML文件
fclose($handle);

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

//收尾专门的学业:
echo “<a href=$path target=_blank>查看刚才加多的信息</a>”;

 

mysql_inc.php数据库连接文件

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

 代码如下

<?php
   class mysql{

     private $host;//�����
     private $name;//�û���
     private $pass;//����
     private $database;//��ݿ���
     private $ut;//���뷽ʽ

 

     function __construct($host,$name,$pass,$database,$ut){
      $this->host=$host;
      $this->name=$name;
      $this->pass=$pass;
      $this->database=$database;
      $this->ut=$ut;
      $this->connect();

     }

     function connect(){
      $link=mysql_connect($this->host,$this->name,$this->pass)
or die ($this->error());
     
mysql_select_db($this->database,$link)
or die(“û����ݿ⣺”.$this->database);
      mysql_query(“SET NAMES ‘$this->ut'”);
     }

 function query($sql, $type = ”) {
     if(!($query = mysql_query($sql))) $this->show(‘Say:’, $sql);
     return $query;
 }

    function show($message = ”, $sql = ”) {
  if(!$sql) echo $message;
  else echo $message.'<br>’.$sql;
 }

    function affected_rows() {
  return mysql_affected_rows();
 }

 function result($query, $row) {
  return mysql_result($query, $row);
 }

 function num_rows($query) {
  return @mysql_num_rows($query);
 }

 function num_fields($query) {
  return mysql_num_fields($query);
 }

 function free_result($query) {
  return mysql_free_result($query);
 }

 function insert_id() {
  return mysql_insert_id();
 }

 function fetch_row($query) {
  return mysql_fetch_row($query);
 }

 function version() {
  return mysql_get_server_info();
 }

 function close() {
  return mysql_close();
 }

 

 

      function htmtocode($content){
     $content=str_replace(“n”,”<br>”,str_replace(”
“,”&nbsp”,$content));
     return $content;
     }
   }

   $db=new mysql(“localhost”,”root”,””,”database”,”utf8″);

 

 

?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注