php生成静态文件的多种方法分享
php生成静态文件的多种方法分享
发布时间:2016-12-29 来源:查字典编辑
摘要:第一种:将php动态页面内容生成静态复制代码代码如下:ob_start();#开启服务器缓存include_once'Index.php';...

第一种:将php动态页面内容生成静态

复制代码 代码如下:

ob_start();#开启服务器缓存

include_once 'Index.php';

$ctx=ob_get_contents();#获取缓存

ob_end_clean();#清空缓存

$fh=fopen("index.html","w+");

fwrite($fh,$ctx);#写入html,生成html

fclose($fh);

/*

1、Flush:刷新缓冲区的内容,输出。

函数格式:flush()

说明:这个函数经常使用,效率很高。

2、ob_start :打开输出缓冲区

函数格式:void ob_start(void)

说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

3 、ob_get_contents :返回内部缓冲区的内容。

使用

函数格式:string ob_get_contents(void)

说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。

4、ob_get_length:返回内部缓冲区的长度。

使用方法:int ob_get_length(void)

说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。

5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。

使用方法:void ob_end_flush(void)

说明:这个函数发送输出缓冲区的内容(如果有的话)。

6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区

使用方法:void ob_end_clean(void)

说明:这个函数不会输出内部缓冲区的内容而是把它删除!

7、ob_implicit_flush:打开或关闭绝对刷新

使用方法:void ob_implicit_flush ([int flag])

*/

第二种:

php 静态文件生成类(自家用)

复制代码 代码如下:

<?php

class CreateHtml

{

function mkdir( $prefix= 'article' )

{

$y = date('Y');

$m = date('m');

$d = date('d');

$p=DIRECTORY_SEPARATOR;

$filePath='article'.$p.$y.$p.$m.$p.$d;

$a=explode($p,$filePath);

foreach ( $a as $dir)

{

$path.=$dir.$p;

if(!is_dir($path))

{

//echo '没有这个目录'.$path;

mkdir($path,0755);

}

}

return $filePath.$p;

}

function start()

{

ob_start();

}

function end()

{

$info = ob_get_contents();

$fileId = '12345';

$postfix = '.html';

$path = $this->mkdir($prefix= 'article');

$fileName = time().'_'.$fileId.$postfix;

$file=fopen($path.$fileName,'w+');

fwrite($file,$info);

fclose($file);

ob_end_flush();

}

}

?>

<?php

$s=new CreateHtml();

$s->start();

?>

<html>

<body>

asdfasdfasdfasdfasdfasdfasdfasdfasdf<br>

adfasdfasdf<br>

</body>>

</html>

<?php

$s->end();

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类