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 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
浅谈php7的重大新特性
Oct 23 PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
微信 getAccessToken方法详解及实例
Nov 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
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
浅析使用Python操作文件
2017/07/31 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
新品发布会策划方案
2014/06/08 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
解除劳动合同协议书
2014/09/17 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
面试通知单大全
2015/04/20 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
论文评审意见
2015/06/05 职场文书
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers