- ベストアンサー
Ajaxで画像表示
こんにちわ。 現在PHPとAjaxを使用し、サーバーのサイトパス上にある画像を表示するプログラムを作成しておりますが、どうも上手くいきません。 画像パスがサイトパス上と言う事もあり、画像をバイナリ読込み&出力する方法を試しているのですが、思い通りの結果が得られません。 そもそもAjaxでサイトパス上にある画像を表示する事ができるのかも不明なのですが。。。 どなたかご存知の方がおりましたら、教えて下さい。よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問者さんの言う『サイトパス』の意味が良く分かりません。 http://hogehoge.com/hogehoge/hogehoge/hogehoge.jpg のように、URL指定出来るなら『画像をバイナリ読込み&出力する』必要はありませんね。相対リンクで/hogehoge/hogehoge.jpgと言うのも同じです。 外部からアクセス出来ないディレクトリ上に画像が存在し、それを表示させたいなら、PHP側で『画像をバイナリ読込み&出力する』必要があります。例えばimg.phpを表示用スクリプトとすれば、 <?php //img.php $fname = "/usr/local/hogehoge/hogehoge.jpg";//サーバ上のパス header("Content-type: image/jpeg"); //JPEG画像だよ、というヘッダー readfile($fname); ?> とし、<img src="img.php" />で呼び出せば表示可能です。 当然、$fname を $fname = $_GET["path"];としておけば、<img src="img.php?path=hogehoge/..." />として表示する事も可能です。 さて、もう一つの分からない事。Ajaxです。Ajaxは非同期でJavaScriptを通じてXMLをサーバから取得してごにょごにょやるクライアントサイドの技術です。『Ajaxでサイトパス上にある画像を表示する事ができるのか』と書いてあっても、誰も回答を出す事は出来ないのではないでしょうか。 基本的に、Ajaxはクライアント側のスクリプト、PHPはサーバ側のスクリプトです。勘違いの無いよう。 参考まで。
その他の回答 (1)
- asuncion
- ベストアンサー率33% (2127/6289)
どんなプログラムを書いていて、どううまくいかないかを 開示すれば、どなたか詳しいかたから回答が届くかもしれません。 「どうもうまくいかない」だけでは解決しづらいことは確かです。
お礼
なんともぶしつけな質問に対し、回答して頂きありがとうございました。そもそも私には「質問の仕方」という所から学ばなければいけないようです。。。 以後、気をつけます。 本当にありがとうございました。
お礼
親切なご回答ありがとうございました。 上記を参考にしてやってみたところ、希望する動作をいたしましまた。 本当にありがとうございました。 また私の会社では、サーバー上のパスをサイトパスと呼んでいるのでこれがまた一般的でないことも知りました。。。もう一度初歩から勉強しなおします。。。 本当にありがとうございました。