$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);