微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP 静态类分享

PHP静态类分享,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?PHP
/**
 * PHP静态类
 *
 * @param 
 * @author 编程之家 jb51.cc jb51.cc
 **/

/******************8PHP静态类*************/
class Shtml
{
   var $Templet;
   var $DataSource;
   var $Dir;
   var $fileName;
   var $mod;
   var $handle;
   function Shtml($fileName = )
   {
   $this->fileName = $fileName;
   $this->mod = wb;
   $this->handle = false;
   $this->Templet = ;
   $this->DataSource = array();
   $this->Dir = ;
   }
   // 绑定数据源,参数为一数组
   function BindData($arr)
   {
   $this->DataSource = $arr;
   }
   // 设置文件存放路径
   function SetDir($dir)
   {
   $this->Dir = $dir;
   }
   function SetFileName($fileName)
   {
   return $this->fileName = $fileName;
   }
   function GetMod()
   {
   return $this->mod;
   }
   function SetMod($mod)
   {
   return $this->mod = $mod;
   }
   function open()
   {
   if (substr($this->fileName,1) == /)
   $this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName;
   if ($this->handle = fopen($this->fileName,$this->mod))
   return $this->handle;
   else
   return false;
   }
   function Close()
   {
   return fclose($this->handle);
   }
   function Write($content)
   {
   return fwrite($this->handle,$content);
   }
   function MkDir($pathname)
   {
   $currentPath = ;
   str_replace(\\,/,$pathname);
   $pathArr = split(/,$pathname);
   if ($pathArr[0] == ) { //使用绝对路径
   $currentPath = $_SERVER['DOCUMENT_ROOT'];
   } else {
   $currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);
   }
   for ($i = 0; $i < count($pathArr); $i++) {
   if ($pathArr[$i] == )
   continue;
   else
   if (is_dir($currentPath .  /  . $pathArr[$i]))
   $currentPath = $currentPath .  /  . $pathArr[$i];
   else
   mkdir($currentPath = $currentPath .  /  . $pathArr[$i]);
   }
   }
   // 生成静态文件
   function Create()
   {
   $tmp = $this->Templet;
   foreach ($this->DataSource as $key => $value) {
   $tmp = str_replace( < FIELD_ . $key .  > ,$value,$tmp);
   }
   $this->MkDir(dirname($this->fileName));
   $this->open();
   $this->Write($tmp);
   $this->Close();
   }
}
function CreateShtml() {
   ob_start(callback_CteateShtml);
}
function callback_CteateShtml($buffer) {
   $page = intval(@$_REQUEST[page]);
   $shtml = new Shtml();
   $shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . / . basename($_SERVER['PHP_SELF'],.PHP) . ($page == 0 ?  : _ . strval($page)) . .html);
   $shtml->Templet = $buffer;
   $shtml->Create();
   return $buffer;
}
?>


/***   来自编程之家 jb51.cc(jb51.cc)   ***/

原文地址:https://www.jb51.cc/php/529128.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐