posix_isatty

(PHP 4, PHP 5, PHP 7)

posix_isattyDetermine if a file descriptor is an interactive terminal

说明

posix_isatty ( mixed $fd ) : bool

Determines if the file descriptor fd refers to a valid terminal type device.

参数

fd

The file descriptor, which is expected to be either a file resource or an integer. An integer will be assumed to be a file descriptor that can be passed directly to the underlying system call.

In almost all cases, you will want to provide a file resource.

返回值

Returns TRUE if fd is an open descriptor connected to a terminal and FALSE otherwise.

参见

User Contributed Notes

hfuecks at phppatterns dot com 07-May-2004 02:12
Can be useful to determine whether output is being piped elsewhere, for PHP shell scripts, for example;

#!/usr/local/bin/php
<?php
if ( !posix_isatty(STDOUT) ) {
   
fwrite(STDOUT, "Invalid TTY\n");
    exit(
2);
}
fwrite(STDOUT, "Enter you name\n");
$name = fgets(STDIN);
fwrite(STDOUT,"Hello $name\n");
exit(
0);
?>

If this script is like:

script.php > outfile

outfile will contain "Invalid TTY"