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 相关文章推荐
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
php adodb操作mysql数据库
Mar 19 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
php empty() 检查一个变量是否为空
Nov 10 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
apache配置虚拟主机的方法详解
Jun 17 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
php截取字符串函数分享
Feb 02 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
Yii2 GridView实现列表页直接修改数据的方法
May 16 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
网站上面有这种切换效果
2006/06/26 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
Js apply方法详解
2017/02/16 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
Python实现简单拆分PDF文件的方法
2015/07/30 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
python Tkinter的图片刷新实例
2019/06/14 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
python selenium 获取接口数据的实现
2020/12/07 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
优秀英语专业毕业生求职信
2013/11/23 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
财务部经理岗位职责
2014/02/03 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
夫妻吵架保证书
2015/05/08 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技