プログラミング

PHPでstdin(標準入力)を取得する

PHPプログラミング言語にて、stdin(標準入力)を取得する方法について紹介します。
以下に、一行を読み込みする方法、それぞれの行に処理してやる方法、標準入力をひとまとめとして受け取り処理する方法についてそれぞれ順番に紹介します。

# 一行を読み込み
ASUS:/mnt/c/pg$ seq 3 | php -r "echo fgets(STDIN) ;"
1

# それぞれの行に処理
ASUS:/mnt/c/pg/20190111030052$ seq 3 | php -r 'while($f = fgets(STDIN)){ echo "line: $f"; }'
line: 1
line: 2
line: 3

# 標準入力をひとまとめとして受け取り処理
ASUS:/mnt/c/pg/20190111030052$ seq 3 | php -r '$stdins = "" ; while($f = fgets(STDIN)){ $stdins .= $f ; } echo $stdins ; '
1
2
3

# e.g.
ASUS:/mnt/c/pg/20190111030052$ seq 3 | php -r '$stdins = "" ; while($f = fgets(STDIN)){ $stdins .= $f ; } echo $stdins . "hogehoge" ; '
1
2
3
hogehoge

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です