T086ѧϰ�� | վ��ѧԺ | �����ĵ� | ���� | Ъ���� | IP��ַ��ѯ | �������� | ���ջ��� | �����ֵ� | ���ù��� | ������Ϣ��ѯ

ob_start()����html

�� �������ߣ����� ����ʱ�䣺2009-01-09 | ���壺�� �� С��
[����]Output Control ���������������ɿ��ƽű������ݵ����������dz������ã��ر��Ƕ��ڣ������� �������Ѿ����������������ļ�ͷ���������������ƺ�������ʹ�� header() �� setcookie(), ���͵��ļ�ͷ��Ϣ����Ӱ��,ֻ����...

Output Control ���������������ɿ��ƽű������ݵ����������dz������ã��ر��Ƕ��ڣ������� 
�������Ѿ����������������ļ�ͷ���������������ƺ�������ʹ�� header() �� setcookie(),  
���͵��ļ�ͷ��Ϣ����Ӱ��,ֻ����Щ������ echo() �� PHP ���������ݿ������á�  


�����Ⱦ�һ���򵥵����ӣ��ô��Ҷ�Output Control��һ�����µ�ӡ����  


Example 1. 
------------------------------------------------------------------------------------- 
---------------------------------  

ob_start(); //�򿪻�����  
echo "Hello "; //����  
header(��location:index.php��); //���������ض�����index.php  
ob_end_flush();//����ȫ�����ݵ�������  
?>  
------------------------------------------------------------------------------------- 
---------------------------------  
���ж�header()�������˽����˶�֪�������������ᷢ��һ���ļ�ͷ��������������������ʹ�� 
��������֮ǰ�Ѿ������κ������������������������ո񣬻س��ͻ��У��ͻ���ʾ������������ 
��ȥ����һ�е�ob_start()����ִ�д˳��������ǻᷢ�ֵõ���һ��������ʾ����Header had  
all ready send by�������Ǽ���ob_start���Ͳ�����ʾ������ԭ���ǵ������˻�������echo���� 
���ַ����������������������DZ����ڷ�������ֱ����ʹ��flush����ob_end_flush�Ż��������� 
�Բ��������κ��ļ�ͷ�����Ĵ�����  


һ�� ���غ������飺  
1��Flush��ˢ�»����������ݣ�������  
������ʽ��flush()  
˵����������������ʹ�ã�Ч�ʺܸߡ�  
2��ob_start ����������������  
������ʽ��void ob_start(void)  
˵����������������ʱ����������PHP�����ķ��ļ�ͷ��Ϣ�����ᷢ�ͣ����DZ������ڲ��������� 
Ϊ�����������������ݣ�����ʹ��ob_end_flush()��flush()���������������ݡ�  
3 ��ob_get_contents �������ڲ������������ݡ�  
ʹ�÷�����string ob_get_contents(void)  
˵�������������᷵�ص�ǰ�������е����ݣ���������������û�м���򷵻� FALSE ��  
4��ob_get_length�������ڲ��������ij��ȡ�  
ʹ�÷�����int ob_get_length(void)  
˵�������������᷵�ص�ǰ�������еij��ȣ���ob_get_contentsһ������������������û�м� 
��򷵻� FALSE��  
5��ob_end_flush �������ڲ������������ݵ������������ҹر�������������  
ʹ�÷�����void ob_end_flush(void)  
˵�������������������������������ݣ������еĻ�����  
6��ob_end_clean��ɾ���ڲ������������ݣ����ҹر��ڲ�������  
ʹ�÷�����void ob_end_clean(void)  
˵���������������������ڲ������������ݶ��ǰ���ɾ����  
7��ob_implicit_flush���򿪻��رվ���ˢ��  
ʹ�÷�����void ob_implicit_flush ([int flag])  
˵����ʹ�ù�Perl���˶�֪��$��=x�����壬�����ַ������Դ���/�رջ��������� 
ob_implicit_flush����Ҳ���Ǹ�һ����Ĭ��Ϊ�رջ��������򿪾�����������ÿ���ű�������ֱ 
�ӷ��͵���������������Ҫ���� flush()  


���������˽⣺  

1. ����Flush������  
����������PHP3�оͳ����ˣ���һ��Ч�ʺܸߵĺ���������һ���dz����õĹ��ܾ���ˢ��browser 
��cache.���Ǿ�һ������Ч���dz����Ե�������˵��flush.  
Example 2.  
------------------------------------------------------------------------------------- 
---------------------------------  
for($i = 1; $i <= 300; $i++ ) print(�� ��);  
// ��һ�仰�dz��ؼ���cache�Ľṹʹ����������ֻ�дﵽһ���Ĵ�С���ܴ�������������  
// ����֮������cache�����ݲ��ﵽһ���Ĵ�С�����Dz����ڳ���ִ������ǰ�����ġ���  
// �����ԣ��ҷ���������С�ĵ�����256���ַ���������ζ��cache�Ժ����յ����ݶ���  
// ԴԴ���ϵı����ͳ�ȥ��  
For($j = 1; $j <= 20; $j++) {  
echo $j.�� 
��;  
flush(); //��һ����ʹcache���������ݱ�����ȥ����ʾ����������  
sleep(1); //�ó�����˯��һ���ӣ���������Ч�����ø�����  
}  
?>  
------------------------------------------------------------------------------------- 
---------------------------------  
ע�������ڳ������ײ�����ob_implicit_flush()�򿪾���ˢ��,�Ϳ����ڳ����в���ʹ��flush 
(),�������ĺô��ǣ�����Ч�ʣ�  

2. ����obϵ�к�����  
�����������ҵĺ�����y10k��һ�����ӣ�  
Example 3.  
------------------------------------------------------------------------------------- 
---------------------------------  

�������õõ��������Ϳͻ��˵�������Ϣ������������Ϣ����Ϊ�ͻ��˵IJ�ͬ����ͬ��������Ҫ 
����phpinfo()������������ô���أ���û�л���������֮ǰ������˵һ���취Ҳû�У��������� 
�������Ŀ��ƣ����ǿ������ɵĽ�����  
-------------------------------------------------------------  
ob_start(); //�򿪻�����  
phpinfo(); //ʹ��phpinfo����  
$info=ob_get_contents(); //�õ������������ݲ��Ҹ�ֵ��$info  
$file=fopen('info.txt','w'); //�����ļ�info.txt  
fwrite($file,$info); //д����Ϣ��info.txt  
fclose($file); //�ر��ļ�info.txt  
?>  
-------------------------------------------------------------  
�����ϵķ������Ϳ��԰Ѳ�ͬ�û���phpinfo��Ϣ����������������ǰ����û�а취�쵽����ʵ�� 
�����ǽ�һЩ�����̡�ת��Ϊ���������ķ�����  

------------------------------------------------------------------------------------- 
---------------------------------  
�������ڴ��Ҷ�ob_start()�Ĺ�������һ�����˽⣬������һ�����ӿ��Ƽ򵥣���ʵ�����Ѿ��� 
����ʹ��ob_start()��Ҫ�㡣  
<1>.ʹ��ob_start����browser��cache���������Ա�֤cache��������������flush 
(),ob_end_flush()��������ִ�����ϣ�֮ǰ���ᱻ������  
<2>.���ڵ���Ӧ��֪������ӵ�е����ƣ��������κ��������ݺ���ʹ��header,setcookie�Լ� 
session������ob_startһ���ܴ����ص㣻Ҳ����ʹ��ob_start�IJ�������cache��д������Ȼ�� 
�Զ������������ob_start("ob_gzhandler")����������õ���������ob_get_contents()�� 
��cache�е����ݣ�Ȼ���ٽ��д�������  
<3>.���������Ϻ������ǿ���ʹ�ø��ַ���������flush(),ob_end_flush(),�Լ��ȵ�����ִ���� 
�Ϻ����Զ���������Ȼ���������õ���ob_get_contents()����ô��Ҫ���Լ�����������ʽ�ˡ�  

���������ǿ�������obϵ�к�����Щʲô����  

һ�� ��̬ģ�漼��  

���飺��ν��̬ģ�漼������ͨ��ij�ַ�ʽ��ʹ���û���client�˵õ�������PHP������htmlҳ 
�档��������htmlҳ�治���ٱ����£���ô���������û��ٴ�������ҳ��ʱ�����򽫲����ٵ��� 
PHP�Լ����ص����ݿ⣬����ijЩ��Ϣ���Ƚϴ�����վ������sina,163,sohu���������ֵļ����� 
���ĺô��Ƿdz��޴��ġ�  

����֪����ʵ�־�̬�����������ְ취��  
<1>.ͨ��y10k�޸ĵ�phplib��һ����template.inc.php��ʵ�֡�  
<2>.ʹ��obϵ�к���ʵ�֡�  
���ڵ�һ�ַ�������Ϊ������ƪ������Ҫ�о������⣬���Բ���׸����  
������������һ���ڶ��ַ����ľ���ʵ�֣�  
Example 4.  
------------------------------------------------------------------------------------- 
---------------------------------  
ob_start();//�򿪻�����  
?>  
phpҳ����ȫ������  
$content = ob_get_contents();//ȡ��phpҳ��������ȫ������  
$fp = fopen(��output00001.html��, ��w��); //����һ���ļ������򿪣�׼��д��  
fwrite($fp, $content); //��phpҳ��������ȫ��д��output00001.html��Ȼ�󡭡�  
fclose($fp);  
?>  

  • ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
  • �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
������ѯ Health Check Gulangyu
© 2017 T086ѧϰ�� - T086.com(ԭitlearner.com)
RunTime:25.23ms QueryTime:7