php5.4で変数に格納されたデータを外部コマンドに標準出力で渡し、外部コマンドの出力結果を変数で受け取りたいのですが、そのやり方がありましたら教えて下さい。


具体的には、変数内の画像データをImageMagick(convertコマンド)に渡し、加工したものをブラウザに出力させたいのです(都合によりPECLのimagickは使いません)。

なお、申し訳ありませんが一時ファイルを作成し、データを渡すやり方はNGとします。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/12 12:41:40
  • 終了:2012/05/12 19:13:44

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4595ベストアンサー獲得回数19342012/05/12 13:36:48

ポイント50pt

proc_open() 関数を使います。
http://www.php.net/manual/en/function.proc-open.php#refsect1-function.proc-open-examples

マニュアルにあるサンプルでは、php をコマンドとして呼び出し、php の標準入力で小さなソースを渡して、標準出力から、その実行結果を受け取ります。

id:wankodon

想定している用途に使えそうです。
回答ありがとうございます。

2012/05/12 19:13:26

その他の回答(1件)

id:Cherenkov No.1

Cherenkov回答回数1503ベストアンサー獲得回数4932012/05/12 13:33:39

ポイント50pt

結局、php.iniのsafe_mode_exec_dirにImageMagickの存在するパスを設定してあげただけで解決しました。
PHPで書いたスクリプトです。 - foo.php - <?php exec(”ls -la”).. - 人力検索はてな

追記:safe_mode_exec_dirは5.4で削除されたみたいです。

id:wankodon

ありがとうございます。参考にさせて頂きます。

2012/05/12 19:11:25
id:a-kuma3 No.2

a-kuma3回答回数4595ベストアンサー獲得回数19342012/05/12 13:36:48ここでベストアンサー

ポイント50pt

proc_open() 関数を使います。
http://www.php.net/manual/en/function.proc-open.php#refsect1-function.proc-open-examples

マニュアルにあるサンプルでは、php をコマンドとして呼び出し、php の標準入力で小さなソースを渡して、標準出力から、その実行結果を受け取ります。

id:wankodon

想定している用途に使えそうです。
回答ありがとうございます。

2012/05/12 19:13:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません