« 新しい形の求人サイト:paiza | トップページ | ヒアドキュメントとunexpected end of file »

2014.05.08

というわけでPHPの標準入力

昨日paizaについてのエントリーを書いたところで、実際につまづいたPHPでの標準入力の取り扱いについてメモっておこうかと。

一番簡単な入力は

var = fgets(STDIN);
のような一文である。
Windows上であればphp.exeのあるフォルダにパスを通しておいた上で
C:\>php xxxxx.php
と実行してあげれば標準入力の入力待ち状態となる。

この状態でキーボードから入力を行なってEnterで確定することで、fgetsによって入力した値が取得される。

1回こっきり利用するだけならこのfgetsを1回冒頭に書いておけばいいだろうが、継続して待機したりするのであれば標準入力の受取をwhileループ内などで行い、特定の終了コードでループから出てexitするようなコーディングが必要となろう。
ごく普通の処理だけども、HTTPのサーバサイドで生きていた人にはちょっと慣れない動きかもしれない。

ファイルを標準入力のごとく受け取るのであれば

$input = file_get_contents('php://stdin');
?>
というコードに対して
C:\>xxxx.php < test.dat
のように標準入力リダイレクトしてあげれば、これもOK。
ただファイル名を引数にとるようにして普通にfopenすればいいんじゃないか、とか思うところはある。

|

« 新しい形の求人サイト:paiza | トップページ | ヒアドキュメントとunexpected end of file »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/59601594

この記事へのトラックバック一覧です: というわけでPHPの標準入力:

« 新しい形の求人サイト:paiza | トップページ | ヒアドキュメントとunexpected end of file »