file_get_contens(URL)で取得した画像をPHPで表示したい。

下記のコード①で表示させようとしても、②のように化けて表示されてしまいます。
表示させようとしているPHPファイルに既に<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />が書かれているからでしょうか?
どのようにしたら、表示できるでしょうか?


$img_path = URL;
$img = file_get_contents($img_path);
header('Content-type: image/jpeg') ;
echo $img;


��icB� ������WF|wq{��>9�MQ��X�U`ĞCA�c�9 K��"�ݟ��8A�:�岺�]zZ��0>���l�] ������Os�ӏ�Vmͻ[N�3�+���T��X��XKgs��焴�c@����(�iN�-��

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/08/13 09:22:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

http://d.hatena.ne.jp/m0r1/20090412/1239512576

に書いているとおり、画像も表示できます。


表示させようとしているPHPファイルに既に<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />が書かれているからでしょうか?

と書いてることから想像するに、HTML を表示させようとしている途中に①の処理を書いているんじゃないでしょうか?


header() による Content-Type の指定が有効なのは一回の処理に付き、一回だけです。

HTML と画像を表示するための php を分ける必要があります。

HTML の方では、img タグから①のような処理をする php を呼び出す感じになります。


■HTML を表示する .php

...
<img src="画像を表示する.php">

■画像を表示する.php

$img_path = URL;
$img = file_get_contents($img_path);
header('Content-type: image/jpeg') ;
echo $img;

という感じ。

id:koime_ryokutya

うまくいきました。

ありがとうございます。

2011/08/13 09:21:47

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

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

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

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

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