文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>生成静态html的一个类

生成静态html的一个类

时间:2010-03-25  来源:yueming

<?php
/**
 * Name: WriteCache
 * Author: Jeff Jing
 * Description: A class for Write cache to html
 * DateTime: 2009-09-26 16:33:06
 * Version: 1.0.0
 */
# 配置参数

$configArr=array();
$configArr['leftDilimiter']='<{';
$configArr['rightDilimiter']='}>';
$configArr['dir']='./html/';

class statiker{
 private $content;
 private $config;
 public function __construct($tpl){ // 构造参数为模板文件

  global $configArr;
  $this->config=$configArr;
  $this->content= file_get_contents ($tpl);
  $this->clearSpace();
  //var_dump($this->content);

 }
 private function clearSpace(){
     /**@ 去掉分隔符与数据之间的空格
   */
  while(strpos($this->content,' '.$this->config['rightDilimiter'])!==false && strpos($this->content,$this->config['leftDilimiter'].' ')!==false){
   $this->content=str_replace(' '.$this->config['rightDilimiter'],$this->config['rightDilimiter'],$this->content);
   $this->content=str_replace($this->config['lefDilimiter'].' ',$this->config['rightDilimiter'],$this->content);
  }
 }
 public function replace($src,$des){
     /**@ 将模板中的变量替换
   * @param $src: 模板中的变量
   * @param $des: 要替换的变量
     主要供内部调用,不建议直接使用
   */
  $this->content=str_replace($src,$des,$this->content);
 }
 public function writeData($name,$data){
     /**@ 将实际的变量替换
   * @param $name: 模板中的变量
   * @param $data: 要替换的变量,可以是一维数组,暂不支持二维数组
   */
  if(is_array($data)){
   foreach($data as $key=>$value){
    $src=$this->config['leftDilimiter'].'$'.$name.'.'.$key.$this->config['rightDilimiter'];
    $this->replace($src,$value);
   }
  }
  if(is_numeric($data) || is_string($data)){
   $src=$this->config['leftDilimiter'].'$'.$name.$this->config['rightDilimiter'];
   $this->replace($src,$data);
  }
 }
 public function show($html){
     /**@ 将模板写入文件
   * @param $html: 将缓存写入文件
   */
  $cachedir = $this->config['dir'];
  $cachefile = $cachedir.$html;
  //echo $cachefile;

  if(!is_dir($cachedir)) {
   @mkdir($cachedir, 0777);
  }
  if(file_exists($cachefile)){ // 如果文件已存在,先将文件删除

     unlink($cachefile);
  }
  var_dump($html);
  if(@$fp = fopen($cachefile, 'w')) {
   @fwrite($fp, "<!-- created by /writeHtml.php \r\n Date: ".date("Y-m-d h:i:s")." -->\n".$this->content);
   @fclose($fp);
   @chmod($cachefile, 0777);
  } else {
   echo 'Can not write file Pls check the directory '.$configArr['dir'];
   exit;
  }
 }
 
}
?>


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载