
phpを勉強始めたばかりで、データベースを使う必要がでてきたため、初心者サイトを
読んでいるのですが、一点質問があります。
行いたい事は、データベースに保存した画像パスをphpで出力するだけなのですが、パスが
文字列として扱われてしまっています。画像を出力するにはどうすれば良いでしょうか?
例えば以下のようなphpプログラムで、nameには画像パスである 「abc.jpg」という文字が
入っていたとすると以下ではそのままabc.jpgという文字列が出力されてしまします・・・。
<?php
$pdo = new PDO("mysql:dbname=aaa", "root");
$pdo->query("set names utf8;");
$st = $pdo->query("SELECT * FROM bbb");
while ($row = $st->fetch()) {
$name = htmlspecialchars($row['name']);
echo '<img src="$name">';
}
?>
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
No.1さんもおっしゃっているように
> 「abc.jpg」が表示されるとは思えませんが
仮に
echo "<img src=¥"$name¥">";
だとして、出力結果が
<img src="abc.jpg">
となったとしたら、これはこれで正しいと思いますよ。
abc.jpgがその場所にあれば、正しく表示されると思います。
画像そのものを出力したい、つまり
(たとえば)
/abc.jpg
がリクエストされたとき、PHPを実行して画像(バイナリ)を返したい、ということならば、
1.まずそのURLがリクエストされたときPHPが実行されるようにウェブサーバの設定をする
2.(画像そのものがDBに格納されているとして)PHPで先のPDOなどを使って画像を取得する
3.header関数でContent-Typeを指定して(header('Content-type: image/jpeg');)
4.2の画像を出力する
という流れになると思います。
画像をDBに格納しておらず、どこかのディレクトリに保存しているなら、
1.そのディレクトリをウェブサーバ経由で外部ネットワークから参照できるようにウェブサーバを設定する
またはウェブサーバ経由で外部ネットワークから参照できるディレクトリにその画像を保存する
2.そのディレクトリに対応するURLパスを先のDBに保存する
3.先の$nameが2のURLになっていればOK
と思います。ウェブ上から見えないどこかのディレクトリに保存してPHP経由で返してもよいと思います。
No.1
- 回答日時:
>そのままabc.jpgという文字列が出力
echo '<img src="$name">';
という記述を見る限り、シングルクォーテーションで囲まれている
文字列を出力しているので$nameは展開されないので
「abc.jpg」が表示されるとは思えませんが?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ob_end_clean と ob_clean の違...
-
phpにcssを適応させたい...
-
CSV出力にHTMLが入ってしまう
-
mPDFでのPDF出力がうまくいかな...
-
PHPリンク
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
存在しないメールアドレスかど...
-
phpでの画像ランダム表示方法
-
PHPでPDFを画像で表示したい
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
VB.NET 最下位のディレクトリ名...
-
wininetでPOSTで値を渡せません
-
送信日時を指定してメールを送...
-
header.locationで、画面遷移、GET
-
tplを読みに行けません。
-
PHPでSMTPを使ってメール送信で...
-
「mkdir」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
ob_end_clean と ob_clean の違...
-
PHPリンク
-
画面にそのままを出力したい
-
PHPがどうしても反映されません
-
Smarty/pluginsファルダ内 fun...
-
mPDFでのPDF出力がうまくいかな...
-
特定のURLに移動するには?
-
セッション管理に関する質問
-
php 画像表示(imgタグ)
-
PHPにおける時間計算、時間足し...
-
PHPでPDFを作成するためのライ...
-
CGIからPHPへの書き換え
-
PHPで`headers already sent`と...
-
PHPでの出力ページサイズについて
-
ブラウザのページキャッシュ機...
-
phpexcelにてsubmitボタンを押...
-
PHPで取得したHTML内のdiv要素...
-
phpとdb
-
PHPを利用してログを取る方法。
おすすめ情報