ob_start

(PHP 4, PHP 5, PHP 7)

ob_start锟斤拷锟斤拷锟斤拷锟斤拷苹锟斤拷锟�

说锟斤拷

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

锟剿猴拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷濉o拷锟斤拷锟斤拷锟斤拷锟藉激锟斤拷螅疟锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷o拷锟斤拷http锟斤拷头锟解)锟斤拷锟洁反锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷荼锟斤拷娲拷锟斤拷诓锟斤拷锟斤拷锟斤拷锟斤拷小锟�

锟节诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷匡拷锟斤拷锟斤拷 ob_get_contents() 锟斤拷锟斤拷锟斤拷锟狡碉拷一锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟叫★拷 锟斤拷要锟斤拷锟斤拷娲拷锟斤拷诓锟斤拷锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷荩锟斤拷锟斤拷锟绞癸拷锟� ob_end_flush() 锟斤拷锟斤拷锟斤拷锟斤拷锟解, 使锟斤拷 ob_end_clean() 锟斤拷锟斤拷锟结静默锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷★拷

Warning

锟斤拷锟斤拷锟斤拷锟节碉拷锟矫的回碉拷锟斤拷锟斤拷时锟斤拷一些锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟紸pache锟斤拷锟斤拷谋锟揭伙拷锟斤拷疟锟斤拷墓锟斤拷锟侥柯硷拷锟� 锟斤拷锟斤拷锟斤拷诨氐锟斤拷锟斤拷锟斤拷锟斤拷侔锟斤拷锟斤拷幕锟斤拷锟斤拷锟斤拷锟斤拷锟� chdir(dirname($_SERVER['SCRIPT_FILENAME'])) 锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷强啥训锟斤拷模锟斤拷饧达拷锟轿斤拷牛锟斤拷锟斤拷锟揭伙拷锟� ob_start() 锟角伙拷跃锟斤拷时锟斤拷 锟斤拷锟斤拷缘锟斤拷锟斤拷锟揭伙拷锟� ob_start() 锟斤拷 只要确锟斤拷锟斤拷锟斤拷确锟斤拷锟斤拷锟斤拷 ob_end_flush() 恰锟斤拷锟侥达拷锟斤拷锟斤拷锟缴★拷 锟斤拷锟斤拷卸锟斤拷锟斤拷锟斤拷锟截碉拷锟斤拷锟斤拷锟角伙拷跃锟侥o拷锟斤拷锟斤拷锟斤拷莼锟揭恢憋拷锟角讹拷椎锟剿筹拷锟斤拷锟斤拷锟酵拷锟斤拷锟斤拷嵌锟斤拷锟斤拷锟斤拷恕锟�

锟斤拷锟斤拷

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() 锟斤拷锟杰达拷一锟斤拷锟截碉拷锟斤拷锟斤拷锟叫碉拷锟矫★拷 锟斤拷锟斤拷踊氐锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷锟斤拷锟斤拷牵锟斤拷锟斤拷锟斤拷锟斤拷锟轿拷遣锟斤拷锟饺凤拷摹锟� 锟斤拷锟斤拷锟揭撅拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷荩锟斤拷踊氐锟斤拷锟斤拷锟斤拷蟹锟斤拷锟揭伙拷锟�"" (锟斤拷锟街凤拷锟斤拷)锟斤拷 锟斤拷锟斤拷锟杰达拷一锟斤拷锟截碉拷锟斤拷锟斤拷锟斤拷使锟斤拷锟斤拷print_r($expression, true) 锟斤拷highlight_file($filename, true) 一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷搴拷锟斤拷锟�

Note:

锟斤拷PHP 4.0.4锟叫o拷 ob_gzhandler() 锟斤拷锟斤拷锟斤拷锟斤拷为锟剿简化帮拷gz锟斤拷锟斤拷锟� 锟斤拷锟捷凤拷锟酵碉拷支锟斤拷压锟斤拷锟斤拷页锟斤拷锟斤拷锟斤拷锟斤拷锟� ob_gzhandler() 锟斤拷锟叫讹拷锟斤拷锟斤拷锟斤拷锟斤拷越锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷偷谋锟斤拷锟斤拷锟斤拷荩锟斤拷锟斤拷锟斤拷锟斤拷锟接� 锟斤拷锟斤拷锟斤拷锟�

chunk_size

锟斤拷锟斤拷锟窖★拷锟斤拷锟� chunk_size 锟斤拷锟斤拷值锟剿o拷锟斤拷锟轿猴拷一锟斤拷锟斤拷锟斤拷锟金缓筹拷锟斤拷锟侥筹拷锟饺碉拷锟斤拷 锟津超癸拷 chunk_size 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷螅锟斤拷锟斤拷锟斤拷锟斤拷岜凰拷汀锟� 默锟斤拷值 0 锟斤拷味锟脚猴拷锟斤拷锟斤拷锟斤拷锟斤拷蟊坏锟斤拷茫锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷值锟斤拷锟皆斤拷 chunk_size 锟斤拷 1 锟借定锟斤拷 4096锟斤拷

erase

锟斤拷锟斤拷锟窖★拷锟斤拷锟� erase 锟斤拷锟斤拷锟斤拷 FALSE锟斤拷直锟斤拷锟脚憋拷执锟斤拷锟斤拷苫锟斤拷锟斤拷锟斤拷疟锟缴撅拷锟斤拷锟� 锟斤拷使锟矫o拷锟斤拷锟斤拷锟斤拷锟斤拷顺锟剿拷锟斤拷锟较达拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟阶筹拷一锟斤拷"notice",锟斤拷锟斤拷锟斤拷 FALSE 值锟斤拷

锟斤拷锟斤拷值

锟缴癸拷时锟斤拷锟斤拷 TRUE锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
4.3.2 锟节达拷锟捷碉拷 output_callback 锟斤拷锟杰憋拷执锟斤拷时锟斤拷锟剿猴拷锟斤拷 锟斤拷锟侥成凤拷锟斤拷 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锟斤拷使锟矫碉拷锟斤拷锟斤拷压锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷莸幕氐锟斤拷锟斤拷锟斤拷锟給b_start callback function to gzip output buffer
  • ob_iconv_handler() - 锟斤拷锟斤拷锟斤拷锟斤拷宕︼拷锟斤拷锟斤拷转锟斤拷锟街凤拷锟斤拷锟斤拷
  • mb_output_handler() - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟阶拷锟斤拷址锟斤拷锟斤拷锟侥回碉拷锟斤拷锟斤拷
  • ob_tidyhandler() - ob_start callback function to repair the buffer