STERFIELD

【PHP】外部プログラムの実行

【PHP】外部プログラムの実行

普段はPHPのexecsystem関数はあまり使わないですが、
今回は外部ファイルを取得するため、OSのwgetコマンドを使いたいと思います。
execとsystem関数の比較をしてみたいと思います。

exec

・戻り値
マニュアルには、「コマンド結果の最後の行を返します」と書いてありますが、
実は何か返してくるのが微妙に分かりません。

・$command
実行したいコマンド

・$output
コマンドの出力内容が、$outputに配列として格納します。
実行結果の出力内容を調べるのに、このパラメーターを使えばいいと思います。

・$return_var
コマンドの実行結果が正常の場合は数字の0、 異常野場合は数字の1になります。

system

・戻り値
マニュアルには、「成功時はコマンド出力の最後の行を返し、失敗時は FALSE を返します。」と書いてありますが、
実はexecの$outputを配列ではなく文字列で返す感じです。

・$command
実行したいコマンド

・$return_var
コマンドの実行結果が正常の場合は数字の0、 異常野場合は数字の1になります。

おまけ:Linuxの標準出力と標準エラー出力

Linuxの標準出力は1番、標準エラー出力は2番です。
標準エラー出力に標準出力にまとめるに、

と書きます。

それを利用して、execやsystemの出力結果に、正常の場合でも異常の場合でも、結果を取得することができます。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい