Я написал сценарий php. Я хочу, чтобы оно отображало справочное сообщение при вызове со стандартным вводом, подключенным к устройству tty (терминалу), перед чтением и выполнением в интерактивном режиме, но не отображалось при вызове с файлом или потоком из канала в качестве стандартного ввода.
Есть ли способ обнаружить это из PHP?
Используйте posix_isatty
.
Эта функция принимает как дескриптор файла (целое число), так и поток PHP. Если он получает поток PHP, он автоматически пытается выполнить его , чтобы получить файловый дескриптор и использовать его вместо этого.