Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP是可写的(';php://stdout'); 返回false,选择?_Php_Stdout - Fatal编程技术网

PHP是可写的(';php://stdout'); 返回false,选择?

PHP是可写的(';php://stdout'); 返回false,选择?,php,stdout,Php,Stdout,我有一个字符串,我需要检查该字符串是否表示可写文件或输出流/缓冲区 是可写的()不适用于标准输出,只适用于真实文件 哪种方法适合检查php://stdout 还尝试了stream\u is\u local(),但它返回true和php://stdoutaa和php://xxx 很明显,我可以尝试这样的方式: $file = @fopen('php://stdout', 'w'); if (!$file) { throw new Exception(); } 但我想知道是否有更优雅的方式

我有一个字符串,我需要检查该字符串是否表示可写文件或输出流/缓冲区

是可写的()
不适用于标准输出,只适用于真实文件

哪种方法适合检查
php://stdout

还尝试了
stream\u is\u local()
,但它返回
true
php://stdout
aa和
php://xxx

很明显,我可以尝试这样的方式:

$file = @fopen('php://stdout', 'w');
if (!$file) {
    throw new Exception();
}
但我想知道是否有更优雅的方式?

试试下面的代码:

is_resource(STDOUT); //true
fclose(STDOUT);
is_resource(STDOUT); // false

试试这个:
$stdout=fopen('php://stdout","r",;打印(标准输出)
这就是你想要的吗?使用fopen可以,但是我想知道是否有一种内置的方法,比如
是可写的
,php://stdout 及php://stderr 始终仅对写入进行访问。php://stdin  -阅读only@ZigZag我知道这一点。我只是得到一个字符串,想检查它是否是可写的。我不知道这个字符串是什么,它可能是任何东西,我的functino需要回答正确的答案。我怀疑能否找到一个比在写模式下打开字符串更优雅的解决方案。如果STDOUT是resource,那么php://stdout 我想也应该有空。那么,如何使用您的方法检查其他路径?就像unix:///tmp/someunix.sock'?