Solution to invalid buffering in php ie

伊谢尔伦
Release: 2023-03-11 10:06:01
Original
1808 people have browsed it

Buffering of PHP programs, regardless of the circumstances under which PHP is executed (CGI, web server, etc.). This function sends all the program's output so far to the user's browser.

#flush() function has no effect on the cache mode of the server or client browser. Therefore, both the ob_flush() and flush() functions must be used to flush the output buffer.
Individual web server programs, especially web server programs under Win32, will still cache the output of the script until the end of the program before sending the results to the browser.
I wrote a small example and wanted to add it to the page every time. Outputs a number every second.
Follow the code on the Internet:

ob_end_clean
(); 
for ($i=10; $i>0; $i--) 
{ 
echo $i; 
flush(); 
sleep(1); 
}
Copy after login

Or:

for ($i=10; $i>0; $i--) 
{ 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}
Copy after login

Found that it works in Firefox, but not in IE. 10 numbers are output together every time , which means buffering is not effective.
I started adjusting the output_buffering settings in php.ini again and restarted apache, but it still didn't work.
Then I saw a passage:
Some versions of Microsoft Internet Explorer will only start to display the page after receiving 256 bytes, so some additional spaces must be sent to allow these browsers to display the page content.
SinfulIE browser, the problem is that there are too many TMDs!
Then I modified the program and it became normal:


echo 
str_pad('',4096); 
for ($i = 0; $i < 10; $i++) { 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}
Copy after login

The code is as follows:

//
ob_end_flush
();//IE8下没起作用 
echo str_pad(" ", 256);//IE需要接受到256个字节之后才开始显示 
for($i=0;$i<18;$i++) { 
echo $i; 
flush(); 
sleep(1); 
}
Copy after login


The above is the detailed content of Solution to invalid buffering in php ie. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template