php生成静态文件的多种方法分享


Posted in PHP onJuly 17, 2012

第一种:将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 相关文章推荐
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
php class类的用法详细总结
Oct 17 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 #PHP
php生成略缩图代码
Jul 16 #PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 #PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 #PHP
在项目中寻找代码的坏命名
Jul 14 #PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 #PHP
php学习之function的用法
Jul 14 #PHP
You might like
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
PHP 实现缩略图
2021/03/09 PHP
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
Vue自定义指令详解
2017/07/28 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
Python压缩和解压缩zip文件
2015/02/14 Python
python使用Tesseract库识别验证
2018/03/21 Python
基于python实现名片管理系统
2018/11/30 Python
python进行文件对比的方法
2018/12/24 Python
Django web框架使用url path name详解
2019/04/29 Python
Django框架模板的使用方法示例
2019/05/25 Python
python字符串查找函数的用法详解
2019/07/08 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
python sleep和wait对比总结
2021/02/03 Python
波兰补充商店:Muscle Power
2018/10/29 全球购物
酒店管理自荐信
2013/10/23 职场文书
物流专业毕业生推荐信范文
2013/11/18 职场文书
QA工程师岗位职责
2013/11/20 职场文书
党校学习自我鉴定
2014/02/24 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
深入理解pytorch库的dockerfile
2022/06/10 Python