ob_start

(PHP 4, PHP 5, PHP 7)

ob_start��������ƻ���

˵��

ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] ) : bool

�˺�������������塣��������弤��󣬽ű�������������ݣ���http��ͷ�⣩���෴��Ҫ��������ݱ��洢���ڲ��������С�

�ڲ������������ݿ����� ob_get_contents() �������Ƶ�һ���ַ��������С� ��Ҫ����洢���ڲ��������е����ݣ�����ʹ�� ob_end_flush() ���������⣬ ʹ�� ob_end_clean() �����ᾲĬ�����������������ݡ�

Warning

�������ڵ��õĻص�����ʱ��һЩ���������������Apache����ı�һ���ű��Ĺ���Ŀ¼�� ������ڻص��������ٰ����Ļ��������� chdir(dirname($_SERVER['SCRIPT_FILENAME'])) ��

����������ǿɶѵ��ģ��⼴��ν�ţ�����һ�� ob_start() �ǻ�Ծ��ʱ�� ����Ե�����һ�� ob_start() �� ֻҪȷ������ȷ������ ob_end_flush() ǡ���Ĵ������ɡ� ����ж�������ص������ǻ�Ծ�ģ�������ݻ�һֱ��Ƕ�׵�˳������ͨ�����Ƕ������ˡ�

����

output_callback

��ѡ���� output_callback �������Ա�ָ���� �˺�����һ���ַ�����������������һ���ַ����� �������������( ob_flush(), ob_clean() �������Ƶĺ���)��ˢ���ͳ������߱���ϴ��ʱ�򣻻������������֮��������������ݱ���ˢ���������ʱ��ú������ᱻ���á� ������ output_callback ʱ�������յ������������������Ϊ���� ��Ԥ�ڷ���һ���µ������������Ϊ���������·��ص�������������ݽ����͵�������� ������ output_callback ����һ�����Ե��õĺ������˺��� �᷵�� FALSE ��

����ص������������������ڶ�����������һ��λ�򲹳䣬��λ���� PHP_OUTPUT_HANDLER_START, PHP_OUTPUT_HANDLER_CONT �� PHP_OUTPUT_HANDLER_END ��ɡ�

��� output_callback ���� FALSE ����ԭ�������� ���ݱ�ֱ���͵��������

������� output_callback ����ͨ��ֱ�Ӹ�һ�� NULL ֵ���ܿ���

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() and ob_start() ���ܴ�һ���ص������е��á� ����ӻص������е��������ǣ���������Ϊ�Dz���ȷ�ġ� �����Ҫɾ�������������ݣ��ӻص������з���һ��"" (���ַ���)�� �����ܴ�һ���ص�������ʹ����print_r($expression, true) ��highlight_file($filename, true) һ����������庯����

Note:

��PHP 4.0.4�У� ob_gzhandler() ��������Ϊ�˼򻯰�gz����� ���ݷ��͵�֧��ѹ����ҳ��������� ob_gzhandler() ���ж���������Խ����������͵ı������ݣ���������Ӧ �������

chunk_size

�����ѡ���� chunk_size ����ֵ�ˣ����κ�һ�������𻺳����ij��ȵ��� �򳬹� chunk_size ����������󣬻��������ᱻˢ�͡� Ĭ��ֵ 0 ��ζ�ź���������󱻵��ã����������ֵ���Խ� chunk_size �� 1 �趨�� 4096��

erase

�����ѡ���� erase ������ FALSE��ֱ���ű�ִ����ɻ������ű�ɾ���� ��ʹ�ã���������˳�ˢ����ϴ����������������׳�һ��"notice",������ FALSE ֵ��

����ֵ

�ɹ�ʱ���� TRUE�� ������ʧ��ʱ���� FALSE��

������־

�汾 ˵��
4.3.2 �ڴ��ݵ� output_callback ���ܱ�ִ��ʱ���˺��� ���ijɷ��� FALSE
4.2.0 ����� erase ������

����

Example #1 �û��Զ���ص�����������

<?php

function callback($buffer)
{
  
// replace all the apples with oranges
  
return (str_replace("apples""oranges"$buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php

ob_end_flush
();

?>

�������̻������

<html>
<body>
<p>It's like comparing oranges to oranges.</p>
</body>
</html>

�μ�

  • ob_get_contents() - �������������������
  • ob_end_clean() - ��գ����������������ر��������
  • ob_end_flush() - ��ˢ�����ͳ���������������ݲ��رջ���
  • ob_implicit_flush() - ��/�رվ���ˢ��
  • ob_gzhandler() - ��ob_start��ʹ�õ�����ѹ����������������ݵĻص�������ob_start callback function to gzip output buffer
  • ob_iconv_handler() - ��������崦�����ת���ַ�����
  • mb_output_handler() - �����������ת���ַ�����Ļص�����
  • ob_tidyhandler() - ob_start callback function to repair the buffer