Blog

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

2013.05.08Cat: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

jeff_maj

システムエンジニア/1984年生/上海交通大学卒/Webサービス/EC/iphone/android

» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ