posix_isatty

(PHP 4, PHP 5)

posix_isattyDetermine if a file descriptor is an interactive terminal

Description

bool posix_isatty ( int $fd )

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

Parameters

fd

The file descriptor.

Return Values

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

See Also

Коментарии

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"
2004-05-07 05:12:21
http://php5.kiev.ua/manual/ru/function.posix-isatty.html
Автор:
It's quite complicated to understand its movements. But it determines if the file_descriptor is open AND connected to a terminal.

Thus, while receiving data from the STDIN, for example, it will return false.

This move is useful to optionally pipe STDIN to a PHP script, to avoid hanging when nothing is from STDIN.

<?php

// Simply echoes the contents from STDIN if any
// and "no stdin" if not.
echo (posix_isatty(STDIN)) ? 'no stdin' PHP_EOL file_get_contents('php://stdin');
?>
2021-01-08 12:34:46
http://php5.kiev.ua/manual/ru/function.posix-isatty.html

    Поддержать сайт на родительском проекте КГБ