PHP生成静态的shtml文件类
PHP生成静态的shtml文件类,本类其实也可以生成HTML、htm格式,SHTML也是静态文件,只不过它可以执行服务器端的include命令,比如可把网页头部和底部包括进来,这样当需要修改头部的时候,不需要再全部生成HTML,下面来看这个生态静态类代码:
<?php 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.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法