• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:image1.phpを表示するHTMLでイメージが表示されません。)

HTMLでimage1.phpを表示する際にイメージが表示されない問題の解決方法

このQ&Aのポイント
  • image1.phpを表示するHTMLでイメージが表示されない問題が発生しています。イメージを表示させるためには、以下の手順を実行してください。
  • まず、form1.htmlのimgタグのsrc属性を'image1.php'から'./data/image1.php'に変更します。次に、image1.phpファイル内のパス指定を修正し、正しい画像ファイルのパスを設定します。
  • また、image1.phpファイル内のheader関数の第一引数を'Content-type'から'Content-type: image/jpeg'に変更し、正しいコンテンツタイプを指定します。以上の手順を実行することで、HTMLから正しくイメージを表示させることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.4

まだダメ? #ANo2.で文字化けでテキストが表示されるということは、改行や空白文字が出力されていないでしょうか? <?php は 1行目にありますか? 前に改行されてないですか? ちなみに複数のサーバで試したけれど、質問者さまのスクリプトもきちんと動作しますよ。 他にいろいろな方法がありますので一応…。(これまでダメなら多分ダメですが) <?php $img = "./data/image1.jpg"; ------------------------------------- $fh = fopen($img, 'rb'); header("Content-Type: image/jpeg"); header("Content-Length: " . filesize($img)); fpassthru($fh); fclose($fh); ------------------------------------- header('Content-type: image/jpeg'); header("Content-Length: " . filesize($img)); readfile("$img); ----------------------------------- header('Content-type: image/jpeg') ; echo file_get_contents($img); ------------------------------------ 基本的に、header("Content-Type: image/jpeg"); してますから、正しいかどうかは別としてinclude($img);でもrequire($img);でも何でも出力されるはずですよ。 もしかするとブラウザの問題かも。キャッシュをクリアしたり、別のブラウザでも試してみると原因が分かるかもしれません。

shirosama
質問者

お礼

返信が送れて申し訳ございません。 ><?php は 1行目にありますか? 前に改行されてないですか? 上記を読んでいて思うところがあり、修正したところ画像が表示されました! 本当にありがとうございます。 実は、OKWaveにソースを載せるにあたり、一部修正した部分がありました。 <?phpの上の段に、<!-- 6.2.2 イメージファイルの読み込みと出力 -->とコメントを入れていたんですが、これを消してソースを載せてました。 このコメントをソースに入れると、「画像ファイル "view-source:http://localhost/pdt/image1.php" は壊れているため、表示できませんでした。」と出ました。 ブラウザの問題やSkypeの拡張機能が原因という指摘のサイトもあり、試したのですが上手くいかずに悩んでいました。 しかし私の方の検索エンジンで一番上に来るサイトに、「画像の情報の中に「ゴミ」が混入しているのが原因」という指摘がありました。 私に読解力がなく気付けませんでしたが、これが答えだったようです。 JaneDueさん、本当にありがとうございました。

その他の回答 (3)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

順を追って確認してみては如何でしょうか? パスなどファイルの配置関係の不備の可能性も有ります。 1.image1.php を直接ブラウザでアクセスし画像の表示有無やエラー有無を確認する   $rpathの内容をechoしてみるのも良いかも   2.form1.html で<img src= でimage1.jpgを指定して確認

shirosama
質問者

補足

返信が送れて、すみません。 1ですが、image1.phpを直接ブラウザで確認してみたところ、http://localhost/pdt/image1.phpと表示されます。  ブラウザのタブにはimage1.php(JPEG画像)と表示されてます。  $rpathの内容はC:\apache\htdocs\pdt\data\image1.jpgとなっています。  pdtフォルダにform1.htmlやimage1.phpが入っています。  dataフォルダにはimage1.jpgが入っています。 2ですが、form1.htmlで<img src='image1.jpg' />と指定をして表示はされませんでした。  img src='data/image1.jpg'だと表示されます。

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

header('Content-type: image/jpeg'); readfile('./data/image1.jpg'); ではダメなの?

shirosama
質問者

補足

返信が送れて、すみません。 上記のように修正してみたところ、大量の文字化けが表示されました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

単純に × header('Content-type','image/jpeg'); ○ header("Content-Type:image/jpeg"); では?

shirosama
質問者

補足

返信ありがとうございます。 上記のように修正してみましたが、表示されないです。

関連するQ&A