PHP – 检测STDIO输入

我想要的是能够选择将STDIO传递给 PHP脚本.如果没有,它将从文件中获取输入.所以有时我会简单地运行脚本,有时我会做类似的事情

grep text logfile | php parseLog.php

我有一个非常像这样的循环,它在STDIO存在时工作正常:

while (FALSE !== ($line = fgets(STDIN)))
{
        $customLogArr[]=$line;
}

当没有STDIO虽然停止等待一些时,它甚至都没有进入循环.

我想做的是能够检测我是否有STDIO输入.有没有办法做到这一点?

解决方法

if(FALSE !== ftell(STDIN))
{
    while (FALSE !== ($line = fgets(STDIN)))
    {
        $customLogArr[]=$line;
    }
}

对于STDIN,如果无法读取任何内容,则ftell()将返回false.

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...