我想做这样的事情:
$ [mysql query that produces many lines] | php parse_STDIN.php
Run Code Online (Sandbox Code Playgroud)
在parse_STDIN.php文件中我希望能够从stdin逐行解析我的数据.
Shi*_*dim 94
使用STDIN常量作为文件处理程序
while($f = fgets(STDIN)){
echo "line: $f";
}
Run Code Online (Sandbox Code Playgroud)
注意:STDIN上的fgets读取\n字符.
Lui*_*lón 15
您也可以使用生成器 - 如果您不知道STDIN的大小.
需要PHP 5> = 5.5.0,PHP 7
有点像:
function stdin_stream()
{
while ($line = fgets(STDIN)) {
yield $line;
}
}
foreach (stdin_stream() as $line) {
// do something with the contents coming in from STDIN
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多关于生成器的信息(或谷歌搜索教程):http: //php.net/manual/en/language.generators.overview.php
| 归档时间: |
|
| 查看次数: |
64591 次 |
| 最近记录: |