update page now
Laravel Live Japan

stream_isatty

(PHP 7 >= 7.2.0, PHP 8)

stream_isattyCheck if a stream is a TTY

Description

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.

Parameters

stream

Return Values

Returns true on success or false on failure.

Examples

Example #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));"

The above example will output something similar to:


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

The above example will output something similar to:


false

add a note

User Contributed Notes 1 note

up
0
frmphp at dyadic dot org
16 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