<?php
/
Copyright (C) Iamasb
@project : 3、workerman干系知识点
@explain : 重定向
@filename : 21、restd.php
@author : iamasb
/
function t()
{
global $STDOUT, $STDERR;
fclose(STDOUT);
fclose(STDERR);
$STDOUT = fopen('echo.txt', \"大众a+\公众);
$STDERR = fopen('echo1.txt', \"大众a+\"大众);
echo 'xiaobei';
}
t();
echo 'xiaobei';
2.2、运行结果
3、疑问$STDOUT, $STDERR 这并不是内置的变量, 只是普通的一个变量名称而已。为什么通过这样处理,就能实现输出重定向呢?
答: 如果关闭了标准输出,标准缺点输出文件描述符,那么你打开的前三个文件描述符将成为新的标准输入、输出、缺点的描述符。而之以是把$STDIN, $STDOUT指定为全局变量,是由于在函数内部实行,如不是全局则它们将在函数实行完毕之后被开释。