<?php

/

Copyright (C) Iamasb

重定向PHP45php输出重定向 CSS

@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指定为全局变量,是由于在函数内部实行,如不是全局则它们将在函数实行完毕之后被开释。