XREAにて下記PHPコードを実行するとバイナリの先頭数バイトしかブラウザに出力されません。
さらに、先頭に改行コードLFが入ります。(PHPファイルの先頭および末尾に改行が入っているわけではありません。)
また、PHPファイルの文字コードはUTF-8Nです。
いい解決策はないでしょうか?
■環境
・サーバ
s238
・PHP
5.1.6
■用意するファイル
・image.jpg(4500bytes)
・image.php
■image.phpの中身
$contents = file_get_contents('image.jpg');
echo $contents;
ちなみに、「echo $contents;」を「echo strlen($contents);」にすると「4500」と表示されます。
Webブラウザは、初期状態ではテキストを表示するモードになっています。ご質問にあるような JPEG 画像ファイルのようなバイナリデータを表示することはできません。
もしJPEG画像をブラウザに表示させたいのであれば、以下のようなコードにしてください。
$contents = file_get_contents('image.jpg'); header("Content-type: image/jpeg"); echo $contents;
XREA の広告挿入機能によりヘッダ指定が無効になっている可能性があります。
上記のページの「表示位置の変更方法 (2)」を参考に
.htaccess を編集してみてください。
広告表示を無しにする方法ですので規約違反にならないように注意してください。
無事表示が出来ました!
ありがとうございます。
ご回答いただきありがとうございます。
ヘッダを送信してもダメでした。
先頭数バイトしか取得できません。