php 生成html静态文件类程序与实例使用方法

php教程生成html静态文件类程序与实例使用方法
class html
{
var $dir; //dir for the htmls(without/)
var $rootdir; //root of html files(without/):html
var $name; //html文件存放路径
var $dirname; //指定的文件夹名称
var $url; //获取html文件信息的来源网页地址
var $time; //html文件信息填加时的时间
var $dirtype; //目录存放方式:year,month,,,,
var $nametype; //html文件命名方式:name

function html($nametype='name',$dirtype='year',$rootdir='html')

function setvar($nametype='name',$dirtype='year',$rootdir='html')

function createdir($dir='')
{
$this->dir=$dir?$dir:$this->dir;

if (!is_dir($this->dir))
{
$temp = explode('/',$this->dir);
$cur_dir = '';
for($i=0;$i {
$cur_dir .= $temp[$i].'/';
if (!is_dir($cur_dir))

}
}
}

function getdir($dirname='',$time=0)
{
$this->time=$time?$time:$this->time;
$this->dirname=$dirname?$dirname:$this->dirname;

switch($this->dirtype)
{
case 'name':
if(empty($this->dirname))
$this->dir=$this->rootdir;
else
$this->dir=$this->rootdir.'/'.$this->dirname;
break;
case 'year':
$this->dir=$this->rootdir.'/'.date("Y",$this->time);
break;

case 'month':
$this->dir=$this->rootdir.'/'.date("Y-m",$this->time);
break;

case 'day':
$this->dir=$this->rootdir.'/'.date("Y-m-d",$this->time);
break;
}

$this->createdir();

return $this->dir;
}

function geturlname($url='')
{
$this->url=$url?$url:$this->url;

$filename=basename($this->url);
$filename=explode(".",$filename);
return $filename[0];
}

case 'nametime':
$this->name=$this->dir.'/'.$this->geturlname().'-'.$this->time.'.htm';
break;

}
return $this->name;
}

function createhtml($url='',$time=0,$dirname='',$htmlname='')
{
$this->url=$url?$url:$this->url;
$this->dirname=$dirname?$dirname:$this->dirname;
$this->time=$time?$time:$this->time;
//上面保证不重复地把变量赋予该类成员
if(empty($htmlname))
$this->getname();
else
$this->name=$dirname.'/'.$htmlname; //得到name

$content=file($this->url) or die("Failed to open the url ".$this->url." !");;

///////////////关键步---用file读取$this->url

$content=join("",$content);
$fp=@fopen($this->name,"w") or die("Failed to open the file ".$this->name." !");
if(@fwrite($fp,$content))
return true;
else
return false;
fclose($fp);
}
/////////////////以name为名字生成html

function deletehtml($url='',$time=0,$dirname='')
{
$this->url=$url?$url:$this->url;
$this->time=$time?$time:$this->time;

$this->getname();

if(@unlink($this->name))
return true;
else
return false;
}

/**
* function::deletedir()
* 删除目录
* @param $file 目录名(不带/)
* @return 
*/
function deletedir($file)
{
if(file_exists($file))
{
if(is_dir($file))
{
$handle =opendir($file);
while(false!==($filename=readdir($handle)))

closedir($handle);
rmdir($file);
return true;
}else
}
}

}
?>

时间: 2024-09-25 09:42:00

php 生成html静态文件类程序与实例使用方法的相关文章

asp生成html静态文件的一些方法整理

做网站都想用到动态的信息,而动态的又慢,那么就出来了 动态生成静态的方法 了,asp生成HTML,但是发现生成的内容不是最新的,比如我生成主页,生成后我又修改了动态的主页文件,在点击生成,可生成出来的主页不是动态主页,也就是说浏览动态主页和静态主页的内容不一样,那么这里其实不是你程序的问题,是缓存在作怪,有的人就说了,加上代码禁止缓存,那么也可以,但是代码比较多点.下面学习吧介绍个方法简单的解决ASP生成HTML缓存问题. 用FSO读取文件文本框生成HTML这种方法不建议采用,可以用FSO+XM

Asp.net生成htm静态文件的两种途径

asp.net|静态 //51aspx.com生成静态页演示文件,转载请保留该信息  2    public partial class _Default : System.Web.UI.Page  3    ...{  4        protected void Page_Load(object sender, EventArgs e)  5        ...{  6             7        }  8  9        //根据模板生成,保持在html文件夹中(部分

根据.aspx生成的静态文件为什么和原.aspx页面的效果不一样

问题描述 message.asp->message.html.aspx原有的一些正则表达式验证.非空验证在静态页面中都不能用了,有什么办法可以解决吗? 解决方案 解决方案二:用伪静态吧解决方案三:帮顶,没这样做过解决方案四:伪静态很麻烦啊,不是自己的服务器解决方案五:.aspx原有的一些正则表达式验证.非空验证在静态页面中都不能用了,--------------------------------------------------------用的是.net里的验证控件吗?不过这些验证也可以在客

PHP中使用smarty生成静态文件的例子_php实例

首先先要把需要静态化的内容填充到模版中去 复制代码 代码如下: #eg.这个是静态化首页的 function staticIndex(){ $newslist = $article->getArticles(null,54,'DESC',1,6,false,1,2,'',0,0,1);   if($newslist){    foreach($newslist as $k=>$v){     $newslist[$k]['title_all'] = $v['title'];     $news

php生成PDF格式文件并且加密_php实例

项目需求:php生成pdf文件,并且把该文件加密或设置访问密码 开源的TCPDF是基于PHP的一套类库,它能够很好的生成PDF格式的文档.并且支持文件加密,在目前的开源PHP框架.系统.应用中也使用得很广.这里是设置PDF文档的相关属性的方法原型,其中就可以设置密码 TCPDF::SetProtection ( $permissions = array('print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'asse

使用Ajax生成的Excel文件并下载的实例_javascript技巧

很久沒有寫文章啦,今天分享一個如何在ASP.NET MVC里使用Ajax下載生成文件的方法,以下只是個人心得: 大家都應該知道,在ASP.NET MVC里,如果通過Ajax調用后臺控制器時,可以返回一個JSON對象,但并不能直接返回文件(除非刷新頁面,那就不是Ajax啦),所以如果想用Ajax生成文件并下載的話,那只要將生成的文件先保存到服務器上,然後再將文件路徑通過JSON返回,之後才可以進行下載,當然由於是暫時性存放,所以當下載完后就需要馬上刪除相應的文件. 以下是做法以動態生成Excel為

方便实用的PHP生成静态页面类(非smarty)第1/2页_php技巧

复制代码 代码如下: /*********************/ /* */ /* Version : 5.2.5 */ /* Author : liqiangwork#sohu.com */ /* QQ : 570937581 */ /* */ /*********************/ //-----------------------------生成静态的类------------------------------- class Makehtml{ public $MbUrl,$

PHP中实现生成静态文件的方法缓解服务器压力

 使用生成静态文件的方法解决服务器与数据库访问压力,下面有个不错的教程,感兴趣的朋友可以参考下 互联网快速普及的现在社会,越来越多的人会在一个web应用上进行交流,因而导致服务器与数据库访问压力与日俱增,这边就需要进行一些优化,譬如增加缓存.二级缓存.动态网页静态化以及其他的高端技术.    此处作者是使用生成静态文件的方法:  代码如下: /**  * @desc 生成静态文件时使用  * @todo htmlcache  * @param $root string html文件存放路径  *

PHP自动生成HTML静态页的例子

  做静态页面的时候增加这个功能非常不错,大家看下实现代码,在开始之前还是提一下三个函数吧:"ob_start().ob_end_clean().ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面有代码为例; ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来; if(file_exists("./i