有没有办法在PHP中重定向输出?

时间:2013-11-22 21:36:54

标签: php io echo

有没有办法重定向像“echo”这样的php函数的输出行为,并使它在任何时候调用指向我提供的文件描述符的时候是新的输出?

2 个答案:

答案 0 :(得分:2)

有。您可以使用输出缓冲。

http://php.net/ob_start

<?php

function callback($buffer)
{
  return $buffer;
}

ob_start("callback");

?>

然后当你echo任何事情时,你的callback()函数都会被调用,你可以用输出做任何你想做的事。

答案 1 :(得分:2)

您可以将stdout重定向到这样的文件:

<?php

fclose(STDOUT);

$STDOUT=fopen('t.php.log', 'a');
echo "This is a test";

?>