您当前的位置: 首页 > 网站编程 > PHP教程 > PHP静态类

PHP静态类

作者:不详 来源:网络 发布时间: 2014-08-21 17:39 点击:
[PHP]代码 view source print? 001 ?php 002 /******************8PHP静态类*************/ 003 class Shtml 004 { 005 var $Templet; 006 var $DataSource; 007 var $Dir; 008 009 var $fileName; 010 var $mod; 011 var $handle; 012 013 function Shtml($fileName =

PHP静态类

  [PHP]代码

  view source

  print?

  

  

  

  

  

  

  

  
001<?php


  

  

  

  

  

  

  

  
002/******************8PHP静态类*************/


  

  

  

  

  

  

  

  
003class Shtml


  

  

  

  

  

  

  

  
004{


  

  

  

  

  

  

  

  
005   var $Templet;


  

  

  

  

  

  

  

  
006   var $DataSource;


  

  

  

  

  

  

  

  
007   var $Dir;


  

  

  

  

  

  

  

  
008


  

  

  

  

  

  

  

  
009   var $fileName;


  

  

  

  

  

  

  

  
010   var $mod;


  

  

  

  

  

  

  

  
011   var $handle;


  

  

  

  

  

  

  

  
012


  

  

  

  

  

  

  

  
013   function Shtml($fileName = "")


  

  

  

  

  

  

  

  
014   {


  

  

  

  

  

  

  

  
015   $this->fileName = $fileName;


  

  

  

  

  

  

  

  
016   $this->mod = "wb";


  

  

  

  

  

  

  

  
017   $this->handle = false;


  

  

  

  

  

  

  

  
018


  

  

  

  

  

  

  

  
019   $this->Templet = "";


  

  

  

  

  

  

  

  
020   $this->DataSource = array();


  

  

  

  

  

  

  

  
021   $this->Dir = "";


  

  

  

  

  

  

  

  
022   }


  

  

  

  

  

  

  

  
023


  

  

  

  

  

  

  

  
024   // 绑定数据源,参数为一数组


  

  

  

  

  

  

  

  
025   function BindData($arr)


  

  

  

  

  

  

  

  
026   {


  

  

  

  

  

  

  

  
027   $this->DataSource = $arr;


  

  

  

  

  

  

  

  
028   }


  

  

  

  

  

  

  

  
029


  

  

  

  

  

  

  

  
030   // 设置文件存放路径


  

  

  

  

  

  

  

  
031   function SetDir($dir)


  

  

  

  

  

  

  

  
032   {


  

  

  

  

  

  

  

  
033   $this->Dir = $dir;


  

  

  

  

  

  

  

  
034   }


  

  

  

  

  

  

  

  
035   function SetFileName($fileName)


  

  

  

  

  

  

  

  
036   {


  

  

  

  

  

  

  

  
037   return $this->fileName = $fileName;


  

  

  

  

  

  

  

  
038   }


  

  

  

  

  

  

  

  
039


  

  

  

  

  

  

  

  
040   function GetMod()


  

  

  

  

  

  

  

  
041   {


  

  

  

  

  

  

  

  
042   return $this->mod;


  

  

  

  

  

  

  

  
043   }


  

  

  

  

  

  

  

  
044   function SetMod($mod)


  

  

  

  

  

  

  

  
045   {


  

  

  

  

  

  

  

  
046   return $this->mod = $mod;


  

  

  

  

  

  

  

  
047   }


  

  

  

  

  

  

  

  
048   function Open()


  

  

  

  

  

  

  

  
049   {


  

  

  

  

  

  

  

  
050   if (substr($this->fileName, 0, 1) == "/")


  

  

  

  

  

  

  

  
051   $this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName;


  

  

  

  

  

  

  

  
052   if ($this->handle = fopen($this->fileName, $this->mod))


  

  

  

  

  

  

  

  
053   return $this->handle;


  

  

  

  

  

  

  

  
054   else


  

  

  

  

  

  

  

  
055   return false;


  

  

  

  

  

  

  

  
056   }


  

  

  

  

  

  

  

  
057   function Close()


  

  

  

  

  

  

  

  
058   {


  

  

  

  

  

  

  

  
059   return fclose($this->handle);


  

  

  

  

  

  

  

  
060   }


  

  

  

  

  

  

  

  
061   function Write($content)


  

  

  

  

  

  

  

  
062   {


  

  

  

  

  

  

  

  
063   return fwrite($this->handle, $content);


  

  

  

  

  

  

  

  
064   }


  

  

  

  

  

  

  

  
065   function MkDir($pathname)


  

  

  

  

  

  

  

  
066   {


  

  

  

  

  

  

  

  
067   $currentPath = "";


  

  

  

  

  

  

  

  
068   str_replace("", "/", $pathname);


  

  

  

  

  

  

  

  
069   $pathArr = split("/", $pathname);


  

  

  

  

  

  

  

  
070   if ($pathArr[0] == "") { //使用绝对路径


  

  

  

  

  

  

  

  
071   $currentPath = $_SERVER['DOCUMENT_ROOT'];


  

  

  

  

  

  

  

  
072   } else {


  

  

  

  

  

  

  

  
073   $currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);


  

  

  

  

  

  

  

  
074   }


  

  

  

  

  

  

  

  
075   for ($i = 0; $i < count($pathArr); $i++) {


  

  

  

  

  

  

  

  
076   if ($pathArr[$i] == "")


  

  

  

  

  

  

  

  
077   continue;


  

  

  

  

  

  

  

  
078   else


  

  

  

  

  

  

  

  
079   if (is_dir($currentPath . " / " . $pathArr[$i]))


  

  

  

  

  

  

  

  
080   $currentPath = $currentPath . " / " . $pathArr[$i];


  

  

  

  

  

  

  

  
081   else


  

  

  

  

  

  

  

  
082   mkdir($currentPath = $currentPath . " / " . $pathArr[$i]);


  

  

  

  

  

  

  

  
083   }


  

  

  

  

  

  

  

  
084   }


  

  

  

  

  

  

  

  
085


  

  

  

  

  

  

  

  
086   // 生成静态文件


  

  

  

  

  

  

  

  
087   function Create()


  

  

  

  

  

  

  

  
088   {


  

  

  

  

  

  

  

  
089   $tmp = $this->Templet;


  

  

  

  

  

  

  

  
090   foreach ($this->DataSource as $key => $value) {


  

  

  

  

  

  

  

  
091   $tmp = str_replace(" < FIELD_" . $key . " > ", $value, $tmp);


  

  

  

  

  

  

  

  
092   }


  

  

  

  

  

  

  

  
093   $this->MkDir(dirname($this->fileName));


  

  

  

  

  

  

  

  
094   $this->Open();


  

  

  

  

  

  

  

  
095   $this->Write($tmp);


  

  

  

  

  

  

  

  
096   $this->Close();


  

  

  

  

  

  

  

  
097   }


  

  

  

  

  

  

  

  
098}


  

  

  

  

  

  

  

  
099


  

  

  

  

  

  

  

  
100function CreateShtml() {


  

  

  

  

  

  

  

  
101   ob_start("callback_CteateShtml");


  

  

  

  

  

  

  

  
102}


  

  

  

  

  

  

  

  
103


  

  

  

  

  

  

  

  
104function callback_CteateShtml($buffer) {


  

  

  

  

  

  

  

  
105   $page = intval(@$_REQUEST["page"]);


  

  

  

  

  

  

  

  
106   $shtml = new Shtml();


  

  

  

  

  

  

  

  
107   $shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'], ".php") . ($page == 0 ? "" : "_" . strval($page)) . ".html");


  

  

  

  

  

  

  

  
108   $shtml->Templet = $buffer;


  

  

  

  

  

  

  

  
109   $shtml->Create();


  

  

  

  

  

  

  

  
110   return $buffer;


  

  

  

  

  

  

  

  
111}


  

  

  

  

  

  

  

  
112?>
分享到:
本文"PHP静态类"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4