`
hudeyong926
  • 浏览: 2018179 次
  • 来自: 武汉
社区版块
存档分类
最新评论

3.PHP静态类

阅读更多
<?php
/******************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;
}
?>

把上面的代码保存为 static.php
执行下面页面 phpfans.php

<?php
include("static.php");
CreateShtml();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
撒旦法第三方
</body>
</html>

将会生成一个 phpfans.html的静态页面,如果有参数,则用page来传递 如 phpfans.php?page=1则生成 phpfans_1.html的静态页面

分享到:
评论

相关推荐

    php中静态类与静态变量用法类.zip

    分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”-&gt;”调用:$object-&gt;attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...

    PHP生成静态类.doc

    PHP生成静态类.doc

    把php生成静态(html)页面程序类

    把php生成静态(html)页面程序类 private $template; //模版 private $file_name; //文件名 private $array; //数据数组 function __construct($file_name, $template, $array) { //构造类 $this-&gt;...

    PHP静态文件生成类库.zip

    PHP静态文件生成类 使用方法如下: &lt;?php  $s=new CreateHtml();  $s-&gt;start();  ?&gt;  &lt;html&gt;  &lt;body&gt;  asdfasdfasdfasdfasdfasdfasdfasdfasdf   adfasdfasdf   ...

    php静态文件生成类实例.zip

    主要介绍了PHP静态文件生成类,以实例形式演示了PHP生成静态文件的方法,并封装成类文件便于使用,是非常实用的技巧,需要的朋友可以参考下,希望对各位朋友的PHP学习有所帮助。

    php5 类与对象

    PHP 类的静态成员属性与静态方法 static 关键字 11. PHP 常量(const) 12. PHP 特殊方法 __set()、__get()、__isset() 与 __unset() 13. PHP 重载 14. PHP 重载方法 __call() 15. PHP 抽象方法与抽象类 ...

    DEDE5.5淘客站整合淘宝客API伪静态版.rar

    6.伪静态页面,更有利于搜索引擎收录 [系统环境需求] 1、Windows 平台: IIS/Apache PHP5 2、Linux/Unix 平台 Apache PHP5 建议使用平台:Linux Apache2.2 PHP5.2 3、PHP必须环境或启用的系统函数: ...

    php静态化的类 实现静态页面

    php静态化的类,可以实现静态页面,可是实现对数据库更新,不过要根据你的具体需要做一些修改,如表和字段名及文件目录等。

    PHP生成静态页面小程序 v1.1.zip

    建议新手PHP朋友在本版本的基础上进行完善,1,前台模板更改美化 2,前台文章分页进行静态化 3,后台新闻列表进行分页显示 4,后台批量更新进行分段更新 5,新加读取次数的字段,并在静态html页面进行动态调用 6,...

    分类系统.htaccess伪静态插件 for PHP168.rar

    1、 后台选择高级伪静态,更新目录。 2、你的分类系统需要独立的域名访问,文件夹式的访问地址不保证; 3、将附件解压到分类系统根目录; 缓存更新!!!! 这个文件放分类系统根目录

    最简单的php生成静态页的类

    这是一个最简单的php生成静态页的类, 解压缩到站点的根目录下可以看到演示的效果

    PHP静态成员变量和非静态成员变量详解

    静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员...

    一个静态文件php生成类.zip

    介绍一个静态文件php生成类,在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态...

    PHP 生成静态页类

    email:itw1@163.com 写个生成静态类供学习

    php中静态类与静态变量用法的区别分析

    本文实例分析了php中静态类与静态变量用法的区别。分享给大家供大家参考。具体分析如下: static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了. 1. ...

    把php生成静态(html)页面程序类.zip

    生成静态页面一般是把动态页面生成html页面,这样可以减少服务器负载也是现在各大网站常用的优化方法,下面来分享一个把php生成静态(html)页面类.

    php静态文件生成类实例分析_.docx

    php静态文件生成类实例分析_.docx

    php生成静态页面类

    php生成静态页面类 详细介绍 下载可直接使用的php生成静态页面函数类

Global site tag (gtag.js) - Google Analytics