本文实例讲述了php静态文件生成类。分享给大家供大家参考。
具体实现方法如下:
defined(\'phpphpstudy\') 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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/11687
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我