php生成静态文件的多种方法分享
2015-01-24信息快讯网
最近需要将自己写的php文件生成静态,经过查找,发现有多种方法,不同需求可以选择不同的方法
第一种:将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中var_dump,var_export,print_r三个函数的区别
基于PHP文件操作的详细诠释
解析php安全性问题中的:Null 字符问题
浅析SVN常见问题及解决方法
关于svn冲突的解决方法
关于PHP模板Smarty的初级使用方法以及心得分享
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
解析PHP将对象转换成数组的方法(兼容多维数组类型)
解析zend studio中直接导入svn中的项目的方法步骤
基于PHP服务端图片生成缩略图的方法详解
解析PHP生成静态html文件的三种方法
解析htaccess伪静态的规则
php生成zip压缩文件的方法详解
如何用php生成扭曲及旋转的验证码图片
探讨PHP中OO之静态关键字以及类常量的详解
PHP之生成GIF动画的实现方法
基于PHP生成静态页的实现方法
基于PHP静态类的原罪详解
采集邮箱的php代码(抓取网页中的邮箱地址)
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
php生成略缩图代码
ThinkPHP 连接Oracle数据库的详细教程[全]
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
注册页面之前先验证用户名是否存在的php代码
php 操作调试的方法
php长字符串定义方法
PHP中防止直接访问或查看或下载config.php文件的方法
PHP取整数函数常用的四种方法小结
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
PHP序列号生成函数和字符串替换函数代码
PHP类的静态(static)方法和静态(static)变量使用介绍
PHP备份数据库生成SQL文件并下载的函数代码
PHP将整个网站生成HTML纯静态网页的方法总结
php摘要生成函数(无乱码)
比较详细PHP生成静态页面教程
php ajax 静态分页过程形式