下記のコード①で表示させようとしても、②のように化けて表示されてしまいます。
表示させようとしている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�-��
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;
という感じ。
うまくいきました。
ありがとうございます。