質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

Q&A

解決済

2回答

3962閲覧

lolipopレンタルサーバー上でImageMagickが動かない

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

0グッド

0クリップ

投稿2016/05/25 05:38

編集2016/05/25 07:12

###前提・実現したいこと
lolipopレンタルサーバー上でImageMagickを動かしたい。

###設定

convert before.jpg -resize 100×100 after.jpg

を動かしたい。
これでは動かず、lolipopではパスを書かないといけないため

exec("/usr/bin/convert that-january-feeling-mugs.jpg -resize 100×100 after.jpg");

としました。(参考サイト"http://iro-color.com/design/web/imagemagick.html")

php.iniの設定
イメージ説明

###発生している問題・エラーメッセージ

エラーメッセージも表示されず、after.jpgは生成されません。

###該当のソースコード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr"> <head> <title>sample1104(ImageMagick6.5.2)</title> </head> <body> <?php exec("/usr/bin/convert that-january-feeling-mugs.jpg -resize 100×100 after.jpg"); ?> </body> </html>

###したこと

var_dump(exec('convert'));

を行ったところ、string(33) "'-' for standard input or output."と表示されました。
またそのファイルのパーミッション、そのファイルの格納されているディレクトリのパーミッションを777,707,703,700と変更しましたが、どれも動きませんでした。

何かお分かりになる方、御教授お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

lolipopのphp.iniの設定を間違えていました。
ご回答くださった皆様、本当にありがとうございました。

投稿2016/05/25 08:12

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

PHPのexec()関数は、返り値を返すだけでそれ自体は何も出力しません

また、convertの出力もファイルになされるので、別途で出来たファイルにアクセスする必要があります。

投稿2016/05/25 05:47

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/25 05:52

お返事ありがとうございます。 サイト上には表示されず、ディレクトリ内にafter.jpgが形成されているはずだと思うのですが、after.jpgはつくられていません。 これはなぜなのでしょうか...?
maisumakun

2016/05/25 05:59

exec関数では標準出力の内容を取ってこられるので、第2引数に取得した上でvar_dumpしてみてください(パーミッション関連という可能性も大きいです)。
退会済みユーザー

退会済みユーザー

2016/05/25 06:17

var_dump(exec); としたらエラーになりました。 変数の指定の仕方が分からず、もしご存知でしたら御教授いただけませんか?ごめんなさい.. パーミッションは777にしても変化ありませんでした。
退会済みユーザー

退会済みユーザー

2016/05/25 06:36

var_dump(exec('convert')); でできました。 string(33) "'-' for standard input or output."と出力されました。 var_dump(exec('convert',$out, $ret));としても同じ出力でした。 画像はどうしたら表示されるのでしょうか..
退会済みユーザー

退会済みユーザー

2016/05/25 07:05

execの返り値はコマンド実行結果の最後の行なので ----------------------- exec('convert',$out); var_dump($out); ----------------------- で試せば全ての行が確認できると思いますよ
退会済みユーザー

退会済みユーザー

2016/05/25 07:10

ありがとうございます。 exec("/usr/bin/convert that-january-feeling-mugs.jpg -resize 100×100 after.jpg"); exec('convert',$out); var_dump($out); としたところ、array(0) { }と表示されました。 何が問題なのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問