易截截图软件、单文件、免安装、纯绿色、仅160KB

使PHP即时输出结果到浏览器

PHP:
<?php
for
(
$i
=
0
;
$i
<
10
;
$i
++
)
{
    echo
$i
;
    sleep
(
1
)
;
}
?>
类似上面的程序如果在PHP解释器中执行,每秒会输出一个数,和想象中一样。但是如果使用浏览器来访问,情况就有所不同。在浏览器中访问时,只有在十秒之后才会一次性地显示所有结果。
可以使用ob_flush()
和flush()
来强制浏览器刷新缓存,程序改为:
PHP:
<?php
for
(
$i
=
0
;
$i
<
10
;
$i
++
)
{
    echo
$i
;
    ob_flush
(
)
;
    flush
(
)
;
    sleep
(
1
)
;
}
?>
再使用浏览器访问,四个浏览器中只有Firefox
即时输出了结果。这是因为不同的浏览器对缓冲的处理方式不同,Firefox在被要求强制刷新缓存时很听话,而IE需要在接收到256个字节后才会将内容即时展现在界面上,Safari
需要1024个字节,Opera
更有个性,只有在遇到HTML标签的时候才会即时输出(Safari也是如此)。
对于IE和Safari,可以在输出结果之前先输出大于限定数目的空白字符:
PHP:
<?php
echo
str_repeat
(
" "
,
1024
)
;
for
(
$i
=
0
;
$i
<
10
;
$i
++
)
{
    echo
$i
;
    ob_flush
(
)
;
    flush
(
)
;
    sleep
(
1
)
;
}
?>
而对于Opera、Safari遇到HTML标签后才会即时输出的问题,由于一般我们不会只往浏览器中输出纯文本内容,故可以不作考虑。对于上面的程序,可以在输出结果中加入HTML标签来达到目的:
PHP:
<?php
echo
str_repeat
(
" "
,
1024
)
;
for
(
$i
=
0
;
$i
<
10
;
$i
++
)
{
    echo
$i
.
"<br>"
;
    ob_flush
(
)
;
    flush
(
)
;
    sleep
(
1
)
;
}
?>


相关文档:

大型系统上PHP不称职的九个理由

  PHP确实十分容易编写。但是PHP也有一些十分严重的缺陷。为什么PHP不适合于比小型业余网站更大的网站呢? 1. 对递归的不良支持 递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。Zeev,一个PHP开发人 ......

php 时间转化函数实例

php中日期转换函数strtotime的用法:
语法:
int strtotime ( string time [, int now] )
返回将任何英文文本的日期时间描述解析为 Unix 时间戳
实例:
一,获取指定日期的unix时间戳 strtotime("2009-1-22") 示例如下:
echo strtotime("2009-1-22") 结果:1232553600
说明:返回2009年1月22日0点 ......

PHP框架CodeIgniter的数据库操作整理


1.
$query = $this->db->query('SELECT name, title, email from my_table');
foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->email;
}
2.
foreach ($query->result_array() as $row)
{ ......

php取上一个页面中checkbox选中的值

 <?
$music = $_POST['music'];
//取得所选中的checkbox的个数
$coun=count($music);
if ( is_array( $music ) ) {
    echo '您选择的是&nbsp;:&nbsp;';
    foreach ( $music as $key => $var )
      echo '&nbsp;&nbsp;['.$var.']';
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号