有没有一种方法可以重定向php函数(如"echo")的输出行为,并使其在任何时候调用时都是新的输出,指向我提供的文件描述符?
有。您可以使用输出缓冲。
http://php.net/ob_start
<?php
function callback($buffer)
{
return $buffer;
}
ob_start("callback");
?>
然后,当您echo
任何东西时,您的callback()
函数将被调用,您可以对输出执行任何您想要的操作。
您可以将stdout重定向到如下文件:
<?php
fclose(STDOUT);
$STDOUT=fopen('t.php.log', 'a');
echo "This is a test";
?>