易截截图软件、单文件、免安装、纯绿色、仅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
)
;
}
?>


相关文档:

不完全的HTML头消息,可能被某些PHP服务器拒绝.

近日在用自己以前写的http下载器下载某一个php页面以外遭遇403错误.但是ie却能够正确访问. 日志如下: IE: Time At:0005504671
Line:10
send: 192.168.1.2 –> xxx.xxx.xxx.xxx len:351
GET /test.jpg HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Enc ......

用PHP如何判断一个文件的编码?

 整理自:http://bbs.phpchina.com/viewthread.php?tid=18006
文件a.txt,用PHP如何判断它的编码是GBK还是UTF-8呢?
1,重新认识一下此问题,当时版主回复的时候我就觉得mb函数里一定有这样的功能,但今日研究了mb库,并没有这样的功能。用mb_detect_encoding总是不准确。
echo mb_detect_encoding(file_get_conten ......

PHP和Javascript的JSON交互(处理一个二维数组)

 
PHP的JSON类库我使用的是Services_JSON
,没什么特别的优点,也没什么明显的缺点,对付用足矣。
建立文件data.php

<?php
include(
"JSON.php"
);
$data
= array(
    
array(
'name'
=>
mb_convert_encoding
(
'老王'
,
'UTF-8'
,
'GBK'
), ......

CentOS 5.3 php 装zendOptimizer 3.3.0

 问题:Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so:  /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimize ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号