posix_isatty()
(PHP 4, PHP 5, PHP 7)
Determine if a file descriptor is an interactive terminal
说明
posix_isatty(mixed $fd): bool
Determines if the file descriptor$fdrefers 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$fdis an open descriptor connected to a terminal and FALSE otherwise.
参见
posix_ttyname()Determine terminal device namestream_isatty()Check if a stream is a TTY
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"