2010年02月17日 phpから外部プログラム(シェル)を実行した際の出力結果を全て取る system関数を使っていましたが、linuxでシェルを実行するのと、挙動が違ったので出力結果をすべて取りたいと思った時、shell_execを見つけました。 //使い方は以下そのまま $res = shell_exec('ls'); systemだと最終行しか取れなかったのですが、ちゃんとすべて取得できました。 説明によるとbacktick 演算子の別名らしいです。 「PHP」カテゴリの最新記事
ユーザー定義関数 getCPUname では、コマンドを実行し得られた PROCESSOR_IDENTIFIER を正規表現で分解し、ベンダ名、ファミリー名、モデル名、ステッピングに分解する。 isCPU2.php 110: /** 111: * CPU名(開発コード名)を取得する 112: * @return string CPU名/FALSE:取得失敗 113: */ 114: function getCPUname() { 115: $maker = ''; 116: $family = $model = $stepping = 0; 117: 118: // setコマンドを実行する 119: $output = `set`; 120: 121: // 環境変数PROCESSOR_IDENTIFIERの内容を取得する 122:
phpで外部プログラムを実行する関数は主に3つある。system関数、exec関数、passthru関数の3つ。 他にもproc_open関数などと便利なものもあるが、今回は置いておこう。 それぞれの違いは返り値にあるわけだが、実際にコードを実行して違いを見てみよう。 system関数 PHP: system - Manual http://jp.php.net/manual/ja/function.system.php $dump = system("ls"); var_dump($dump); test1.php test2.php test3.php string(8) "test3.php" system関数はコマンドの実行結果が文字列の形としてそのまま出力され、最後の行の文字列が返り値として返される。 exec関数 PHP: exec - Manual http://jp.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く