[英]How do I check if $data = file_get_contents(“php://stdin”) is empty?
我该如何检查
$data = file_get_contents("php://stdin");
是空的,比如当一个人应该传递一个参数但是没有。
我有一个文件test_cmd.php
:
#!/usr/bin/php
<?php
$data = file_get_contents("php://stdin");
echo $data;
我跑的时候
$ ls -l | test_cmd.php
我明白了
total 36
drwxrwxr-x 3 username username 4096 Jan 20 11:10 ./
drwxr-xr-x 16 username username 4096 Jan 19 23:49 ../
-rw-rw-r-- 1 username username 4299 Jan 19 13:06 index.php
-rwxrwxr-x 1 username username 2619 Jan 20 12:58 test_cmd*
-rw-rw-r-- 1 username username 3022 Jan 19 10:18 file1.php
-rw-rw-r-- 1 username username 3022 Jan 19 10:18 file2.php
但是,当我跑:
$ test_cmd.php
控制台等待文本输入,我不想这样做。 我想展示Usage
帮助。
我该如何纠正?
尝试使用posix_isatty
:
if (posix_isatty(STDIN))
{
die("Please don't run me interactively!");
}
else
{
echo file_get_contents('php://stdin');
}
尝试这个:
if($filecontent = file_get_contents("php://stdin") !== false)
{
// do stuff here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.