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 相关文章推荐
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
php三维数组去重(示例代码)
Nov 26 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
php的ddos攻击解决方法
Jan 08 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
PHP自毁程序(慎用)
Jul 09 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
js 验证身份证信息有效性
2014/03/28 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
python验证码识别的示例代码
2017/09/21 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python 实现两个线程交替执行
2020/05/02 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
详解python datetime模块
2020/08/17 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
高中生校园生活自我评价
2013/09/19 职场文书
师范毕业生求职自荐信
2013/09/25 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
个人职业及收入证明
2014/10/13 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
在职证明格式样本
2015/06/15 职场文书
新年寄语2016
2015/08/17 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
教你如何用cmd快速登录服务器
2022/06/10 Servers