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


Posted in PHP onJanuary 03, 2015

本文实例讲述了php静态文件生成类。分享给大家供大家参考。

具体实现方法如下:

defined('phpjb51') or die(header("http/1.1 403 not forbidden"));

           

class include_createstatic             

{            

                

    private $htmlpath = '';            

    private $path = '';            

    public $monthpath = '';            

    private $listpath = '';            

    private $content = '';            

    private $filename = '';            

    private $extname = '.html';            

                

    public function createhtml($type,$desname,$content)            

    {            

        $this->htmlpath = getappinf('htmlpath');            

        if (!file_exists($this->htmlpath))            

        {            

            @mkdir($this->htmlpath);            

        }            

        $this->path = $this->htmlpath.$this->monthpath.'/';            

        if (!file_exists($this->path))            

        {            

            @mkdir($this->path);            

        }            

        $this->listpath = $this->htmlpath.'list/';            

        if (!file_exists($this->listpath))            

        {            

            @mkdir($this->listpath);            

        }            

        switch ($type)            

        {            

            case 'index':            

                $this->filename = $desname;            

                break;            

            case 'list':            

                $this->filename = $this->listpath.$desname;            

                break;            

            case 'view':            

                $this->filename = $this->path.$desname;            

                break;            

        }            

        $this->filename .= $this->extname;            

        $this->content = $content;            

    }            

                

    public function write()            

    {            

        $fp=fopen($this->filename,'wb');            

        if (!is_writable($this->filename))            

        {            

            return false;            

        }            

        if (!fwrite($fp,$this->content))            

        {            

            return false;            

        }            

        fclose($fp);            

        return $this->filename;            

    }            

}      

//方法二

if(file_exists("./index.htm"))//看静态index.htm文件是否存在 

{ 

$time=time(); 

//文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm 

if(time-filemtime("./index.htm")< 600) 

{ 

header("location:classhtml/main.htm"); 

} 

} 

//在你的开始处加入ob_start(); 

ob_start(); 

//首页内容,就是你的动态部分了 

//在结尾加入ob_end_clean(),并把本页输出到一个变量中 

$temp=ob_get_contents(); 

ob_end_clean(); 

//写入文件 

$fp=fopen("./index.htm",'w'); 

fwrite(fp,temp) or die('写文件错误'); 

//echo"生成html完成!";

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php的控制语句
Oct 09 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
Nov 15 PHP
php跨服务器访问方法小结
May 12 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
PHP开发API接口签名生成及验证操作示例
May 27 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 #PHP
php中socket通信机制实例详解
Jan 03 #PHP
php读取csv数据保存到数组的方法
Jan 03 #PHP
php获取用户浏览器版本的方法
Jan 03 #PHP
php堆排序实现原理与应用方法
Jan 03 #PHP
php购物车实现方法
Jan 03 #PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 #PHP
You might like
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python如何删除文件中重复的字段
2019/07/16 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
详解Python 循环嵌套
2020/07/09 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
比利时香水网上商店:NOTINO
2018/03/28 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
医学生个人求职信范文
2014/02/07 职场文书
火烧圆明园观后感
2015/06/03 职场文书
培训心得体会怎么写
2016/01/25 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python