PHP 8.5.0 RC 5 available for testing

stream_isatty

(PHP 7 >= 7.2.0, PHP 8)

stream_isattyCheck if a stream is a TTY

说明

stream_isatty(resource $stream): bool

Determines if stream stream refers to a valid terminal type device. This is a more portable version of posix_isatty(), since it works on Windows systems too.

参数

stream

返回值

成功时返回 true, 或者在失败时返回 false

示例

示例 #1 stream_isatty() example

This command can be used to determine if a standard output / standard error stream is redirected to a file.

php -r "var_export(stream_isatty(STDERR));"

以上示例的输出类似于:


true
php -r "var_export(stream_isatty(STDERR));" 2>output.txt

以上示例的输出类似于:


false

添加备注

用户贡献的备注 1 note

up
0
frmphp at dyadic dot org
2 days ago
This function returns False (output is being redirected) regardless of the form of redirection. On Windows, both of these are redirected:
- php.exe script.php > outFle.txt
- php.exe script.php | Tee outFle.txt
In the second case, Tee causes the redirection to also echo to the console.

An edge usage is: in debugging a long-running script, output is wanted both in a file for later review and also in the console so it's visible in real time. But if the script alters its output based on this function, then in the second case it will produce output as if for redirection only, even though Tee enables console output.
To Top