下面3个函数的用法
- ob_get_contents() - 返回输出缓冲区的内容
- ob_flush() - 冲刷出(送出)输出缓冲区中的内容
- ob_clean() - 清空(擦掉)输出缓冲区
- ob_end_flush() - 冲刷出(送出)输出缓冲区内容并关闭缓冲
- ob_end_clean() - 清空(擦除)缓冲区并关闭输出缓冲
- flush() - 刷新输出缓冲
通常是ob_flush();flush()同时一起使用
使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。
然后用ob_get_contents得到缓冲区的数据。
函数ob_end_clean 会清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。
此时得用一个函数ob_get_contents()在ob_end_clean()前面来获得缓冲区的内容。
这样的话, 能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作。
php生成静态html实例
- <?php ob_start();?>
- <?php ob_implicit_flush(false);?>
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">友情连接</h3>
- </div>
- <div class="panel-body">
- <?php $topUserMenus=Menu::model()->findAllByAttributes(array('status'=>BasicModel::STATUS_NORMAL,'parent_id'=>Menu::MENU_TYPE_6),
- array('select'=>array('id','name','url','url2','content'),'limit'=>20,'order'=>'sort'));?>
- <?php foreach ($topUserMenus as $topUserMenu):?>
- <a target="_blank" href="<?php echo $topUserMenu->url;?>" class="btn btn-sm btn-default"><?php echo $topUserMenu->name;?></a>
- <?php endforeach;?>
- </div>
- </div>
- <?php $html_tr = ob_get_clean();?>
- <?php
- $base_path = Yii::app ()->basePath;
- file_put_contents ( $base_path . '/views/_static/_youqing.html', $html_tr );
- ?>
效果如图: