string exec
(string command, string [array], int [return_var]);exec は指定された commandを実行しますが、 一切の出力はありません。ただ単に、コマンド結果の最後の行を返すだけ です。コマンドを実行し、一切干渉を受けずに直接コマンドから全てのデータを 受けとる必要があるならば、PassThru 関数を 使ってください。
引数arrayが存在する場合、指定した配列は、 コマンドからの出力の各行で埋められます。配列に既に何らかの要素が 含まれる場合は、execは配列の最後に追加される ことに注意してください。関数が要素を追加することを望まないのなら、 それが exec に渡される前に、配列の unsetを呼び出してください。 引数return_varが、引数 arrayと共に存在する場合、実行したコマンドの ステータスがこの変数に書かれます。
ユーザ入力によるデータを、この関数に渡すことを許可したいのであれば、 ユーザがシステムをだまして勝手なコマンドを実行できないように、 EscapeShellCmdを使うべきです。
system,PassThru, popen,EscapeShellCmd, backtick 演算子 も参照ください。