【php】コマンドラインでの実行かどうか判別する
問題
phpでプログラムを書きまして、コマンドラインからphp ファイル名で実行したり、ブラウザからhttp://example.com/ファイル名で実行結果を見たりしてるのですが、どうやって実行されたかに応じて実行結果の出力形式を変えたいです。

答え
php_sapi_name()関数で、実行環境を教えてもらえる。
<?php echo php_sapi_name();
コマンドラインからだと 'cli'。
Webサーバーと組み合わせて使っている場合だと、'apache2handler', 'cgi-fcgi', 'cgi' など様々。
コマンドラインからかどうかの区別だけでよければ、以下のように書ける。
<?php
if (php_sapi_name() == 'cli') {
//CLI版php
echo '実行結果をテキストで返そうかな';
} else {
//CLI版phpでない
echo '<h1>実行結果</h1>';
echo '<p>HTMLで返そうかな</p>';
}