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面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php购物车实现代码
Oct 10 PHP
php引用地址改变变量值的问题
Mar 23 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
php安装swoole扩展的方法
Mar 19 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
layui数据表格自定义每页条数limit设置
Oct 26 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
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
Python多线程编程简单介绍
2015/04/13 Python
python监控文件或目录变化
2016/06/07 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Django发送邮件功能实例详解
2019/09/02 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
编程输出如下图形
2013/11/24 面试题
城市规划毕业生求职信
2013/10/10 职场文书
2013年高中生自我评价
2013/10/23 职场文书
行政总监岗位职责
2013/12/05 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
运动会报道稿大全
2015/07/23 职场文书
优秀志愿者感言
2015/08/01 职场文书
争做文明公民倡议书
2019/06/24 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL