質問: phpからimagemagickの使い方 phpからexecでimagemagickを使いたいと思っています。ためしにjpgからgifに変換できればと思っています。 exec("/usr/bin/convert img_0.jpg a.gif",$output); var_dump($output); という感じでテストしています。 ファイルのパスが間違ってるのかとも思うんですが、うまくいきません。 画像ファイルのパスはexecを実行するphpファイルからの相対パスでよいのでしょうか? -versionは成功しているようです。 exec("/usr/bin/convert -version",$output); array(3) { [0]=> string(68) "version: imagemagick 6.4.3 2009-04-10 q16 http://www.imagemagick.org" [1]=> string(57) "copyright: copyright (c) 1999-2008 imagemagick studio llc" [2]=> string(0) "" }
回答: >> exec("/usr/bin/convert img_0.jpg a.gif",$output); >> var_dump($output); >> という感じでテストしています。 convertは、画像形式の変換時には標準出力には何も出さなかったはずです。 よって、var_dump($output)では、空の配列だけが出るはずがそうなっていないということでしょうか? >> ファイルのパスが間違ってるのかとも思うんですが、うまくいきません。 うまくいかないとはどういうことでしょうか、期待した内容と実際の結果を表記すると適切な回答が得られると思います。 >> 画像ファイルのパスはexecを実行するphpファイルからの相対パスでよいのでしょうか? 相対パスでokです。 exec("/usr/bin/convert img_0.jpg a.gif",$output) の場合は このスクリプトを含むファイルと同じフォルダーのimg_0.jpg画像を 同じフォルダー内に a.gif に変換して書き込みます。 ちなみに、単にここのフォルダーへの書込み権限(パーミッション)を設定していないだけという 落ち は無いですか?