本篇文章是对PHP中ob_start()函数的用法进行了详细的分析介绍,需要的朋友参考下
 
 

ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

1.用于header()之前
ob_start(); //打开缓冲区 
echo /"Hellon/"; //输出 
header("location:index.php"); //把浏览器重定向到index.php 
ob_end_flush();//输出全部内容到浏览器 
?>

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择.
ob_start(); //打开缓冲区 
phpinfo(); //使用phpinfo函数 
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info 
$file=fopen(/'info.txt/',/'w/'); //打开文件info.txt 
fwrite($file,$info); //写入信息到info.txt 
fclose($file); //关闭文件info.txt 
?>

3.静态页面技术
ob_start();//打开缓冲区 
?> 
php页面的全部输出 
$content = ob_get_contents();//取得php页面输出的全部内容 
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入 
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后…… 
fclose($fp); 
?>

4.输出代码
Function run_code($code) { 
If($code) { 
ob_start(); 
eval($code); 
$contents = ob_get_contents(); 
ob_end_clean(); 
}else { 
echo "错误!没有输出"; 
exit(); 

return $contents; 
}

(转)解析PHP中ob_start()函数的用法的更多相关文章

  1. PHP中ob_start()函数的用法

    ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这 ...

  2. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  3. mysql中INSTR函数的用法

    mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...

  4. Delphi中 StrToIntDef函数的用法

    Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtoi ...

  5. Python中int()函数的用法浅析

      int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int)  Help on class int in module __builti ...

  6. matlab中repmat函数的用法(堆叠矩阵)

    matlab中repmat函数的用法 B = repmat(A,m,n) B = repmat(A,[m n]) B = repmat(A,[m n p...]) 这是一个处理大矩阵且内容有重复时使用 ...

  7. Oracle 中 CONTAINS 函数的用法

    Oracle 中 CONTAINS 函数的用法 1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( a ...

  8. Matlab中imfilter()函数的用法

    Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...

  9. 全面解析Spring中@ModelAttribute注解的用法

    本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:全面解析Spring中@ModelAttribute注解的用法: @ModelAttribute注解用于将方法的参数或方法的返回值绑定到 ...

随机推荐

  1. 转:PHP开发框架流行度排名:Laravel居首

    原文来自于:http://www.sitepoint.com/best-php-frameworks-2014/ Update: If you’d like to take part in the n ...

  2. mysql 修改max_allowed_packet

    -- 查询max_allowed_packetshow VARIABLES like '%max_allowed_packet%'; 修改 my.ini 或 my.cnf [mysqld] max_a ...

  3. 【Java】WSDL 简介

    WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问. 什么是 WSD ...

  4. Emag eht htiw Em Pleh

    Emag eht htiw Em Pleh This problem is a reverse case of the problem 2996. You are given the output o ...

  5. Hibernate如何一个类映射两个表

    一个User类有username,password属性,还有 otherInformation等其他属性,username和password映射到一个表,otherInformation等其他属性映射 ...

  6. 几个不错的编辑器BoneEdit

    https://github.com/bonecode?tab=repositories

  7. HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is returned

    参考: .Net HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is re ...

  8. 【HDOJ】2363 Cycling

    二分+Dijkstra. #include <iostream> #include <cstdio> #include <cstring> #include < ...

  9. No row with the given identifier exists[ArtProject.Domains.Users#2]

      产生此问题的原因:              有两张表,table1和table2. 产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-on ...

  10. 图论(网络流):[SDOI2010] 星际竞速

    Description 10 年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的梦想,来自杰森座 α星的悠悠也是其中之一. 赛车大赛的赛场由 N 颗行星和M ...