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"
posix_isatty
(PHP 4, PHP 5)
posix_isatty — Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist
Beschreibung
bool posix_isatty
( int
$fd
)
Ermittelt, ob der Dateideskriptor fd auf ein
gültiges terminalartiges Gerät verweist.
Parameter-Liste
-
fd -
Der Dateideskriptor.
Rückgabewerte
Gibt TRUE zurück, falls fd ein offener Deskriptor
ist, der mit einem Terminal verbunden ist, und andernfalls FALSE.
hfuecks at phppatterns dot com ¶
9 years ago
