̃Gg[͂ĂȃubN}[Nɒlj

PHP :: イディオム / 標準入力(STDIN)から値を読み取る



$fp = fopen('php://stdin', 'r');

// fopen に失敗した場合、これを記述しておかないと下の while で無限ループが発生する。
if ( ! $fp) exit("Error\n");

$stdin = '';
while( ! feof($fp)) {
    $stdin .= fgets($fp, 4096);
}
fclose($fp);


メールを読み込んだ時は以下のようにして、$head と $body に分割すると便利。

$stdin = str_replace("\r\n", "\n", $stdin);
list($head, $body) = explode("\n\n", $stdin, 2);



programming/php/idiom/stdin.txt