<?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中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
3. 静态类的优势与应用场景: - 静态类常用于提供工具方法或全局服务,例如日志记录、配置管理等,因为它们不需要创建对象,减少了内存占用。 - 在本例中,`template`类用于生成静态HTML页面,这在高并发访问的...
在PHP编程中,生成静态...总之,这个“最简单的php生成静态页的类”提供了一个基础的实现,帮助开发者理解和实践PHP静态页面生成。通过研究这个类,我们可以掌握动态网站优化的关键技巧,提升网站的用户体验和性能。
把php生成静态(html)页面程序类 private $template; //模版 private $file_name; //文件名 private $array; //数据数组 function __construct($file_name, $template, $array) { //构造类 $this->...
静态网页,正如其名,是指不含有服务器端脚本(如PHP、ASP、JSP等)的网页,它的内容在用户请求时不会发生变化。这类网页由HTML(超文本标记语言)编写而成,HTML是一种标准的标记语言,用于创建和展示网页内容。...
PHP静态文件生成类 使用方法如下: <?php $s=new CreateHtml(); $s->start(); ?> <html> <body> asdfasdfasdfasdfasdfasdfasdfasdfasdf adfasdfasdf ...
主要介绍了PHP静态文件生成类,以实例形式演示了PHP生成静态文件的方法,并封装成类文件便于使用,是非常实用的技巧,需要的朋友可以参考下,希望对各位朋友的PHP学习有所帮助。
标题提到的“把php生成静态(html)页面程序类.zip”是一个压缩包,其中包含了一个PHP类,用于将动态生成的PHP页面转换为HTML静态文件。这一过程通常被称为静态化。 首先,我们来看PHP动态页面和静态HTML页面的区别。...
本文将深入探讨PHP实现分页的动态和静态方式,包括静态页面、伪静态页面以及动态分页类的实现原理和方法。 一、静态分页 静态分页通常适用于数据量较小,更新不频繁的场景。在这种情况下,可以预先计算好每个页面的...
6.伪静态页面,更有利于搜索引擎收录 [系统环境需求] 1、Windows 平台: IIS/Apache PHP5 2、Linux/Unix 平台 Apache PHP5 建议使用平台:Linux Apache2.2 PHP5.2 3、PHP必须环境或启用的系统函数: ...
3. **数据库操作类** (mysqlclass.php) 这个类是与MySQL数据库交互的核心工具。它可能封装了数据库连接、查询执行、结果处理等常用操作。例如,`connect()`方法连接到数据库,`query()`方法执行SQL语句,`fetchData...
php静态化的类,可以实现静态页面,可是实现对数据库更新,不过要根据你的具体需要做一些修改,如表和字段名及文件目录等。
建议新手PHP朋友在本版本的基础上进行完善,1,前台模板更改美化 2,前台文章分页进行静态化 3,后台新闻列表进行分页显示 4,后台批量更新进行分段更新 5,新加读取次数的字段,并在静态html页面进行动态调用 6,...
1、 后台选择高级伪静态,更新目录。 2、你的分类系统需要独立的域名访问,文件夹式的访问地址不保证; 3、将附件解压到分类系统根目录; 缓存更新!!!! 这个文件放分类系统根目录
在实际应用中,可能会有一个专门的类或函数库来处理静态化过程,例如定义生成规则、处理URL、处理模板等。 总结来说,PHP生成静态页面是将动态网站转变为静态HTML的一种策略,它涉及到了PHP模板引擎、数据库交互、...
在PHP编程语言中,`static`关键字用于定义类的静态属性和方法,它们与类的实例(对象)无关,而是直接关联到类本身。理解静态方法和非静态方法的使用和区别是掌握PHP面向对象编程的关键。 静态方法是通过类名直接...
php静态文件生成类实例分析.doc
【PHP实例开发源码—网址导航系统3号(php生成静态)】 PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域中应用广泛。这个压缩包包含了一个基于PHP的网址导航系统的源代码,该系统利用PHP来生成静态页面,提高了...