2010-09-06 18 views
11

J'ai écrit un script PHP. Je veux qu'il montre le message d'aide lorsqu'il est appelé avec l'entrée standard connectée à un périphérique tty (terminal) avant de lire et d'exécuter de manière interactive, mais ne montre pas lorsqu'il est appelé avec un fichier ou un flux de pipe comme entrée standard.Détecter si stdin est un terminal (terminal) ou un tuyau en PHP?

Y at-il un moyen de détecter cela à partir de PHP?

Répondre

12

Utilisez posix_isatty.

Cette fonction accepte à la fois un descripteur de fichier (un entier) et un flux PHP. S'il reçoit un flux PHP, il tente automatiquement de cast it pour obtenir un descripteur de fichier et l'utiliser à la place.