読者です 読者をやめる 読者になる 読者になる

(PHPのライブラリJpGraphで生成した) 画像ファイルは壊れているため表示できません on Firefox

PHPのグラフ描画ライブラリJpGraphを利用して画像を生成するように記述した PHPファイルをGETしたときに, 上のようなエラーメッセージがブラウザに表示されることがある.これはサーバ側のコンテンツまたは設定がおかしいのであって, クライアント側=ブラウザ設定で直す方法はない.

これは, 例えばサーバ側で Content-Type:image/png であるのにも関わらず, PHPがエラーメッセージ(それってimageでなくtext)を出しているときに起きうる状況. そうであるかどうかをPHPプログラマが確かめる方法は次のよう. PHPスクリプトの末尾にある

$graph->Stroke();

を一時的に取り除くと, 上のようなContent-Type が HTTP header で送られなくなり, エラーメッセージを(もしStroke()よりも前で出されているなら)テキストとして見ることができるようになる. エラーがなければブラウザの画面は空白となるはず.