我知道我可以在命令行/ shell脚本上接收args:
!#/usr/bin/php
<?php
# file name - process.php
print_r($argv);
但重定向如下:
#> ./process.php < input.txt
如何读取文件,input.txt
是否已创建字符串参数或某种类型的文件指针?
答案 0 :(得分:2)
Read from STDIN与C:非常相似:
<?php
$stdin = fopen('php://stdin', 'r');
// Get the whole file, line by line:
while (($line = fgets($stdin)) !== FALSE) {
...
}
?>
如果你想把整个文件内容放到一个变量中,那就有一个快捷方式:
$contents = stream_get_contents(STDIN);
答案 1 :(得分:1)
Oliver,您应该发布不同的答案,而不是修改用户的帖子。以下是您打算发布的内容:
#!/usr/bin/php -q
<?php
//NOTE the -q switch in hashbang above, silences MIME type output when reading the file!
$stdin = fopen('php://stdin', 'r');
// Get the whole file, line by line:
while (($line = fgets($stdin)) !== FALSE) {
...
}
?>