php输出缓冲控制

伊谢尔伦
Freigeben: 2016-11-22 09:51:27
Original
1024 Leute haben es durchsucht

简介

当PHP脚本有输出时,输出控制函数可以用这些来控制输出。这在多种不同情况中非常有用,尤其是用来在脚本开始输出 数据后,发送http头信息到浏览器。输出控制函数不影响由 header() 或 setcookie()发送的文件头信息,仅影响像 echo这样的函数和PHP代码块间的数据。

注意:

由于早先的版本的缺陷,当从PHP4.1.x(4.2.x,4.3.x)升级时,必须保证php.ini中的implicit_flush 是 OFF, 否则任何用 ob_start()的输出将在输出中隐藏掉。

基本用法

<?php
    ob_start();
    echo "Hello\n";
    setcookie("cookiename", "cookiedata");
    ob_end_flush();
?>
Nach dem Login kopieren

在上面的例子中, echo函数的输出将一直被保存在输出缓冲区中直到调用 ob_end_flush() 。同时,对 setcookie()的调用也成功存储了一个cookie,而不会引起错误。(正常情况下,在数据被发送到浏览器后,就不能再发送http头信息了。)

输出控制函数

flush — 刷新输出缓冲

ob_clean — 清空(擦掉)输出缓冲区

ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲

ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲

ob_flush — 冲刷出(送出)输出缓冲区中的内容

ob_get_clean — 得到当前缓冲区的内容并删除当前输出缓。

ob_get_contents — 返回输出缓冲区的内容

ob_get_flush — 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区。

ob_get_length — 返回输出缓冲区内容的长度

ob_get_level — 返回输出缓冲机制的嵌套级别

ob_get_status — 得到所有输出缓冲区的状态

ob_gzhandler — 在ob_start中使用的用来压缩输出缓冲区中内容的回调函数。

ob_implicit_flush — 打开/关闭绝对刷送

ob_list_handlers — 列出所有使用中的输出处理程序。

ob_start — 打开输出控制缓冲

output_add_rewrite_var — 添加URL重写器的值(Add URL rewriter values)

output_reset_rewrite_vars — 重设URL重写器的值(Reset URL rewriter values)


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!