≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP 静态类分享

人气:717 时间:2018-09-18

这篇文章主要为大家详细介绍了PHP 静态类分享,具有一定的参考价值,可以用来参考一下。

PHP静态类分享,感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
经测试代码如下:

<?php
/**
 * PHP静态类
 *
 * @param 
 * @author 四海网 www.q1010.com
 **/

/******************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, 0, 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;
}
?>


/***   来自四海网(www.q1010.com)   ***/

本文来自:http://www.q1010.com/173/171-0.html

注:关于PHP 静态类分享的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:静态类

您可能感兴趣的文章

上一篇:php 构造SQL语句的类示例
下一篇:php FTP操作类用法:拷贝、移动、删除文件、创建目录
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。