PHPでのイメージ出力に関する質問です。


自作の掲示板の携帯用バージョンを作っています。元の掲示板では、任意の画像ファイルのアドレスを書き込むとレンダリングしてそのまま表示する仕様になっています。これをそのまま携帯用に変換すると、ほぼ必ず容量オーバーになってしまうので、携帯向けには、画像を縮小した上で表示したいと思っています。

imagecopyresizedコマンドでリサイズするところまではできたのですが、サンプルでは

header('Content-type: image/jpeg');
imagejpeg( $myimage );

といった具合にimageヘッダで直接出力する方法しか紹介されていませんでした。これを、<img src="">でHTML文書中に表示するようにしたいのですが、どうすればいいのでしょうか。いったん画像ファイルを保存した方がいいのでしょうか…?こういう場合、みなさんどうしていらっしゃるのでしょう。

宜しくお願い致します。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/09/06 21:32:33
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント40pt

数ヶ月前に似たような質問がありました。

http://q.hatena.ne.jp/1210854692

コメントにはセッションを利用する方法も紹介されていますが、携帯電話によってはうまくセッションを継続するのにひと工夫必要な場合もあるようなのでファイルに保存するのが簡単確実かと思います。

id:mine-D

お。確かに同じような質問ですね。重ねて質問してしまうことになりますが、ファイルに保存する場合、具体的にどのコマンドを使えばいいのでしょうか。fopen→fwrite→fcloseという流れでいいですか?手持ちのリファレンスではfwriteは「文字列を書き込む」とあったので、画像のようなバイナリデータを書き込むにはどうすればいいのか分かりませんでした。みなさんどうされてるんでしょうかねぇ。けっこうありがちな処理な気がするんですが。

2008/09/06 18:51:43

その他の回答1件)

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81ここでベストアンサー

ポイント40pt

数ヶ月前に似たような質問がありました。

http://q.hatena.ne.jp/1210854692

コメントにはセッションを利用する方法も紹介されていますが、携帯電話によってはうまくセッションを継続するのにひと工夫必要な場合もあるようなのでファイルに保存するのが簡単確実かと思います。

id:mine-D

お。確かに同じような質問ですね。重ねて質問してしまうことになりますが、ファイルに保存する場合、具体的にどのコマンドを使えばいいのでしょうか。fopen→fwrite→fcloseという流れでいいですか?手持ちのリファレンスではfwriteは「文字列を書き込む」とあったので、画像のようなバイナリデータを書き込むにはどうすればいいのか分かりませんでした。みなさんどうされてるんでしょうかねぇ。けっこうありがちな処理な気がするんですが。

2008/09/06 18:51:43
id:kiku-_-san No.2

回答回数7ベストアンサー獲得回数0

ポイント30pt

fwriteはバイナリセーフな関数ですのでバイナリも扱えます。

また、imagejpegもファイルに保存出来ます。

第二引数に保存先のファイル名を指定してやればOKです。

id:mine-D

ありがとうございます。おっしゃる通りでした。

2008/09/06 21:31:30
  • id:GoldenDawn
    http://www.php.net/manual/ja/function.imagejpeg.php
    imagejpeg にはファイルに出力する機能があります。
  • id:mine-D
    あ!なるほど。ファイル名を指定できるんですね。ちょっと今実行できる環境ではないので、後でやってみますね。感謝です。
  • id:mine-D
    >>GoldenDawnさん
    バッチリいけました。納得です。ありがとうございました。

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

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

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

回答リクエストを送信したユーザーはいません