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 — ファイル記述子が対話型端末であるかどうかを定義する
説明
bool posix_isatty ( int $fd )ファイル記述子 fd が、 有効な端末デバイスを指しているかどうかを調べます。
パラメータ
- fd
ファイル記述子。
返り値
fd がオープンされており、 かつ端末に接続されている場合に TRUE、 それ以外の場合に FALSE を返します。
参考
| posix_ttyname() |
posix_isatty
hfuecks at phppatterns dot com
07-May-2004 06:12
07-May-2004 06:12