さくらインターネットでImageMagickを使いたいです。
ローカルで正常に動作しているphpファイルをさくらインターネットにアップロードしたところ正常に動かすことが出来ませんでした。
わからなかったのでサポートに問い合わせたところ、以下の返答を頂きました。
こちらの質問
----------------------------------
> 先日「さくらのレンタルサーバ スタンダード」を仮申し込みさせて
> いただきました。
> ImageMagickがインストールされているようなのでPHPでimagickを使って
> 画像処理をしようとしたところimagickがうまく作動していないように思えます。
> (アップロードしたPHPファイルは自分のローカルでは正常に動作しています)。
> imagickで画像処理をする場合、何か特別な設定等があるのでしょうか?
> お手数ですがご解答のほどよろしくお願い致します。
回答
----------------------------------
さくらのレンタルサーバでは Imagemagick は perl のモジュールとしてインストールが行われております。
申し訳ございませんが、PHPのモジュールとしては使用することはできません。ご了承下さいますようお願いいたします。
これは、PHPではImageMagickが使えないということなのでしょうか?
googleで『さくらインターネット ImageMagick』で検索してみたり、OKWave上でも同じ内容の質問を探したりしたのですが、回答者様の回答を見ても理解が出来ず既に丸3日頭を悩ませています。
どなたか初心者でもわかるように回答を頂けないでしょうか。
(どのディレクトリのどのファイルのどこに何をする、等)
調べた内容は以下のサイトです。どれを試してもうまく動作しませんでした。
http://dozo.matrix.jp/pecl/%E3%83%AC%E3%83%B3%E3 …
http://q.hatena.ne.jp/1142475209
http://spilt-milk.net/?p=1400
http://blog.tonx2.com/?p=184
No.1ベストアンサー
- 回答日時:
ImageMagick は、「単独で動作する画像処理プログラム」です。
画像処理するためには、ImageMagickのプログラムを別途立ち上げたりします。
ですが、それではプログラム内から機能を呼び出すのが面倒なので、
各言語毎に、ImageMagick を内部的な機能として使えるようなものがいろいろ用意されています。
「IMagick」も、そういったインターフェースの一つであり、
PHP に IMagick をインストールすることで、
PHPプログラム内から直接 ImageMagick の機能を使えるようになります。
ですが、さくらさんの返答によると、IMagick は入っていないとのことですから、
質問者さんが書かれた「PHPからIMagickを通してImageMagickを使うプログラム」は動作しないのです。
「IMagick のインストール」はサーバ管理者にしかできません。利用者側では不可能です。
ですから、「利用者側の努力で、さくらインターネットで IMagick 用プログラムを動かせるようにする」のは不可能です。
一方、ImageMagick の機能は、上述の「独立したプログラム」で提供されており、それはさくらインターネットにもインストールされているわけですから、
それを直接呼び出すようにすれば、PHP から ImageMagick の機能を使うことは可能です。
そういった利用方法を示しているのが、質問者さんの挙げている最後のリンクである
http://blog.tonx2.com/?p=184
です。PHP の system 関数を使って、ImageMagickのプログラム(convert コマンドなど) を起動しています。
外部プログラムですので、基本的には画像は全てファイルを経由して行い、
処理内容は、コマンド引数で指定します。
convert コマンドの使い方は
http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki …
なんかが参考になるでしょうか。
質問者さんがIMagick で処理しようとした内容も、
convert の引数にあると思います。
たとえば、PHPから
system("convert -geometry 20% image.jpg image_small.jpg");
を実行すれば、image.jpg から、解像度を縦横1/5にした image_small.jpg が作られます。
そんな感じで、system関数を使えば、ImageMagick の機能が使えます。
ありがとうございます、解決しました!
根本的に間違っていたのですね、どおりで参考サイトを見てもわからなかったはずです…
system関数というのもよくわからなかったのですが、mtaka2さんの回答のお陰で全て理解できました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン 小型PCのオススメを教えてください 3 2022/09/18 19:39
- docomo(ドコモ) SIMフリー機種への乗り換えについて 7 2022/09/01 14:05
- ノートパソコン 「MacbookPro13インチ Mid 2012」を使ってますが、フレックスケーブルの交換について 1 2022/05/06 22:07
- Windows 10 プロファイルエラーについて 2 2022/12/16 09:31
- Excel(エクセル) [スライサー]に関して、 1 2022/05/24 21:07
- CPU・メモリ・マザーボード Dell製ノートパソコンのメモリ増設についてです! 6 2023/06/10 21:31
- FTTH・光回線 皆さんのインターネット回線速度はどれくらいですか? 6 2022/10/29 23:13
- iPod・ウォークマン・音楽プレーヤー インターネットに接続できるAndroid OS版のmp4プレーヤーを買おうと思っています。 6 2022/05/28 22:10
- その他(生活家電) アイリスオーヤマの真空パック機 2 2022/12/25 18:26
- 格安スマホ・SIMフリースマホ SIMフリースマホ(Android限定)米国で通話ができる実売3万円台の電池が持つ端末はないですか? 6 2022/11/12 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XML-RPCでsend()できない
-
if($j == $dt["mday"])のmdayと...
-
コメント 中国語 日本語
-
PHPでの再帰を用いたツリー構造...
-
illegal string offset
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
onedrive にexcelファイルをア...
-
.phpと.incファイルの違いはな...
-
CSV出力にHTMLが入ってしまう
-
バッチを用いたフォルダの自動移動
-
PHPでの複数ファイル出力
-
.htaccessにphp_valueが使用できな
-
文字化けについて
-
VBAでJPGサイズ変更
-
別ファイルの変数を呼び出した...
-
「@$変数」の「@の意味は?」
-
Smarty includeでテンプレート...
-
【file_exists】ファイルが存在...
-
ドラッグアンドドロップで画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのみでの背景色は指定できる...
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
FORMタグを使わずに、POSTする...
-
phpとaspの違いについて
-
ここで言う空文字の意味とは?
-
PHPからPerlにデータを渡して結...
-
VBおすすめ書籍
-
携帯電話のwebページでphpによ...
-
php エラー
-
書籍よりも より良い htmlspeci...
-
語句の意味を教えてください
-
functionCheckAuthについて
-
さくらのレンタルサーバーでメ...
-
PHPで、楽天APIを自動更新さ...
-
コメント投稿
-
PDOのlastInsertIDについて
-
PHPでの感嘆符
-
PHPとOracleの接続ができない
-
CGI(Perl)でできてPHPではで...
おすすめ情報