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'?