コマンドラインでインタラクティブモード。

$ php -v

とすると、

PHP 5.2.6 (cli) (built: Aug 1 2008 21:46:15)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

のように、インストールされているPHPのバージョン情報等が表示されます。
この情報の一行目に「cli」とありますが、これでCLIでPHPを実行できることが分かります。
(「CGI」になっている場合もあります)


さて、

php -a

と打つと、

Interactive mode enabled

と表示されて、インタラクティブモードに切り替わります(・∀・)
この状態で、PHPのコードを入力します。
たとえば…

<?php
phpinfo();
?>

のように記述します。
実行する時は
Ctrl+d
で!


ところで。
上記のソースで表示させたphpinfoの内容をファイルに出力したい場合は、
以下のような出力バッファ関連の関数を使います☆

  1. ob_start() ⇒出力バッファリングを有効にします。
  2. ob_get_contents() ⇒ 出力用バッファの内容を返します。
  3. ob_end_clean() ⇒ 出力用バッファを消去し、出力バッファリングをオフにします。

<?php
ob_start();
phpinfo();
$phpInfo = ob_get_contents();
ob_end_clean();
touch("Choo.txt");
$fileName = "Choo.txt";
file_put_contents($fileName, $phpInfo);
?>

file_put_contents関数は

  1. fopen();
  2. fwrite();
  3. fclose();

の三つをまとめて実行する関数です(・∀・)
※「PHP5」から使用可能になりました。


引数にフラグを渡すこともできて、例えば「追記」させたい時には「FILE_APPEND」を指定します。

$info = 'choochoo';
$fileName = 'team1List.txt';
touch($fileName);
file_put_contents($fileName, $info, FILE_APPEND);


なお、この関数の逆(?)がfile_get_contentsです。


PHP、便利すぎるなぁ…(´・ω・`)



「phpinfo()」を実行した時の結果と同じものが欲しい場合は、

$ php -i

でOKです☆