PHP中刷新输出缓冲,立即输出数据

<script type="text/javascript">
function show_message(message) {
	document.getElementById(‘notice‘).innerHTML += message + ‘<br />‘;
	document.getElementById(‘notice‘).scrollTop = 100000000;
}

</script>

<div id="notice" style="width:950px; height: 200px; overflow:scroll; word-break: break-all; word-wrap:break-word;"></div>

<?php
//echo str_pad(" ", 256);
echo str_pad(" ", 1000);  // 保证缓冲区数量
function showjsmessage($message) {
	echo ‘<script type="text/javascript">show_message(\‘‘.addslashes($message).‘ \‘);</script>‘."\r\n";
	flush();
	ob_flush();
}

for ($i=0; $i < 100; $i++) {
	showjsmessage($i);
	sleep(1);
}
?>

  

时间: 2024-10-13 12:14:23

PHP中刷新输出缓冲,立即输出数据的相关文章

PHP中刷新输出缓冲

http://www.cnblogs.com/mutuan/archive/2012/03/18/2404957.html PHP中刷新输出缓冲buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域.通过buffer,可以使进程这间的相互等待变少.这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入 一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到bu

PHP中刷新输出缓冲详解[转载]

PHP中刷新输出缓冲详解 分类: PHP Web开发2011-07-23 17:42 1795人阅读 评论(0) 收藏 举报 phpbuffer浏览器outputapache模块脚本 buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域.通过buffer,可以使进程这间的相互等待变少.这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入 一个字符,操作系统并不会立即把这

PHP中输出缓冲

在PHP中,当执行echo,print的时候,输出并没有立即通过tcp传给客户端浏览器显示, 而是将数据写入php buffer.php output_buffering机制,意味在tcp buffer之前,建立了一新的队列,数据必须经过该队列.当一个php buffer写满的时候,脚本进程会将php buffer中的输出数据交给系统内核交由tcp传给浏览器显示.所以,数据会依次写到这几个地方echo/pring -> php buffer -> tcp buffer -> browse

php flush()刷新不能输出缓冲的原因分析

在php程序编写中,flush()的使用率还是挺高的,它在网页表现即时信息效果时发挥了极为重要的作用,比如之前写的php实现限制文件下载速度的代码实例,flush()就起了举足轻重的作用,是进度条实现代码里的关键语句. 关于flash()的解释 语法: flush(); 作用: 刷新PHP程序的缓冲,而不论PHP执行在何种情况下(CGI ,web服务器等等).该函数将当前为止程序的所有输出发送到用户的浏览器. 问题: flush()刷新为什么不能输出缓冲? 很简单的程序代码 for ($i=10

键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值

package cn; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; /**  * 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值  * 分析:  *  1.创建键盘录入对象  *  2.键盘录入多个数据,我们不知道有多少个,所以用集合存储  *  3.以0结束,只要键盘录入的数据是0,就退出循环  *      4.把集合转换成数组  *      5.对数组进行排

18.把1~100存到一维数组a[100]中,并输出。要求每行输出10个,数据所占宽度相同。

#include<iostream>using namespace std; int main(){    int a[101];    for(int i=1;i<=100;i++)    {        a[i]=i;    }    for(int j=1;j<=100;j++)    {        cout<<a[j]<<" ";        if(j%10==0)//简单的换行都会想那么久        {       

键盘录入多个数据,在控制台输出这多个数据中的最大值

demo: 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: A:创建键盘录入数据对象 B:键盘录入多个数据,我们不知道多少个,所以用集合存储 C:以0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了 D:把集合转成数组 E:对数组排序 F:获取该数组中的最大索引的值 public class ArrayListDemo { public static void main(String[] args) { // 创建键盘录入数据对象 Scanner sc =

如何在应用中通过邮件输入和输出数据

这篇文章还可以在这里找到 英语 Load Attachments In Your App! 很多开发者都希望能够通过电子邮件分享他们的应用数据.这对用户用户之间以及设备之间的数据传输来说是一个很方便的方法--它甚至可以为你带来一些新的用户.幸运的是,在iPhone应用开发里这是很容易实现的 -- 你只需要在Info.plist里设置几个key,并且处理几个回传函数使控制系统可以通过URL引入数据来开启应用.我们将会在这篇教程里讲解这些是如何实现的.我们将会由the Scary Bugs项目开始讲

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。

程序通过定义学生结构体变量,存储学生的学号.姓名和3门课的成绩.函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据.例如,若b所指变量t中的学号.姓名和三门课的成绩一次是:10002."ZhangQi".93.85.87,修改后输出t中的数据应为:10004."Lijie".93.85.87. #include <stdio.h>#include <string.h>struct student { lo