echo 是否等于 fputs( STDout )?
是否等于 或写入不同的流?我已经使用PHP一段时间了,但我不太清楚在较低级别上实际发生了什么。echo
fputs( STDOUT )
echo
是否等于 或写入不同的流?我已经使用PHP一段时间了,但我不太清楚在较低级别上实际发生了什么。echo
fputs( STDOUT )
echo
根据PHP关于包装器的手册页,答案是否定的。
php://output
php://output 是一个只写流,允许您以与print()和echo()相同的方式写入输出缓冲区机制。
print
并写入流,而写入 .echo
php://output
fputs(STDOUT)
php://stdout
我做了一个小测试:
<?php
$output = fopen('php://output', 'w');
ob_start();
echo "regular echo\n";
fwrite(STDOUT, "writing to stdout directly\n");
fwrite($output, "writing to php://output directly\n");
$ob_contents = ob_get_clean();
print "ob_contents: $ob_contents\n";
此脚本输出(在 PHP 5.2.13 窗口上测试):
writing to stdout directly
ob_contents: regular echo
writing to php://output directly
即,直接写入绕过 ob 处理程序。STDOUT