
No.1ベストアンサー
- 回答日時:
echo '<img src="' . $image_path . '" width="300" height="auto">';
echo "<img src=\"" . $image_path . "\" width=\"300\" height=\"auto\">";
echo "<img src=\"{$image_path}\" width=\"300\" height=\"auto\">";
height="auto" の auto は HTML の仕様に存在しません。非負整数だけです。auto は無視されます。
CSS の height は auto を使用できるので、それと混同しています。
回答ありがとうございます。
波括弧構文、autoの使用、勉強になりました。
{$image_path}の方が分かりやすいと思いました。
とても分かりやすかったです。
No.2
- 回答日時:
まず、最初に。
これは echo の問題ではなく、文字列の問題です。
echoは文字列を出力するだけです。
どんな内容を出力するかは、どんな文字列を作るか、となります。
どんな文字列を作るかは、そのためにはどうすればいいか、ということになります。
まずはマニュアルをよく読みましょう。
https://www.php.net/manual/ja/language.types.str …
特に、シングルクオーテーションによる文字列とダブルクオーテーションによる文字列の違いは重要です。
"<img src=\"".$image_path."\">"
これは
「<img src="」
($image_pathの内容)
「">」
という3つの文字列を .演算子で連結したものです。
<img src="img_blog/sample.gif" width="300" height="auto"> にした、というのは
「<img src="」
($image_pathの内容)
「" width="300" height="auto">」
という3つの文字列を .演算子で連結したい、ということになります。
#1さんの例を借りると
(1) これらの文字列には、ダブルクオーテーション文字列のみで対応しているもの(\n等)は使われていないので、シングルクオーテーション文字列でもそのまま書けます。
シングルクオーテーション文字列の中では、ダブルクオーテーションをエスケープする必要はありません。
'<img src="' . $image_path . '" width="300" height="auto">'
(2) ダブルクオーテーション文字列の中にダブルクオーテーションを書くには、ダブルクオーテーションを\でエスケープします。
"<img src=\"" . $image_path . "\" width=\"300\" height=\"auto\">"
(3) ダブルクオーテーション文字列では、変数の展開ができます。
これを使うと . で連結する必要がなくなります。
"<img src=\"${image_path}\" width=\"300\" height=\"auto\">"
他に spintfを使う等もあります。
https://www.php.net/manual/ja/function.sprintf.php
回答ありがとうございます。
シングルクオーテーションとダブルクオーテーションの文字列の違いの解説はとても分かりやすかったです。
特に、(2)の解説、ダブルクオーテーションを¥でエスケープは勉強になりました。
他に spintfを使う等もありがとうございます。
ベストアンサーは、最初に回答を下さった方にさせて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iphoneで虫眼鏡の作り方
-
Web画像コピー不可にする方法
-
画像の解像度を落とすプログラム
-
画像リストを作りたい
-
JavaScriptを使用せず画像をラ...
-
GIF以外の画像を。。。
-
PHP+PostgreSQLを使ってPDFファ...
-
画像表示で不正な理由がわからない
-
C#とJavaで、MP3タグの画像を表...
-
PostgreSQLのラージオブジェク...
-
imagejpegで表示されない。
-
5~10秒間隔で画像を表示する方法
-
gifアニメションの表示について
-
JSPにてMySQLのBLOB型の画像の...
-
★PHP?★画像を縦横比を変えずに...
-
拡張子php画像をjpg画像等に変...
-
VBAについて教えてください
-
画像アップロードの拡張子制限
-
DBに格納された画像データを縮...
-
PHP echo バックスラッシュの使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
Illustratorで文字と画像を流し...
-
php,mysqlにて画像パス保存/表...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
iphoneで虫眼鏡の作り方
-
SQLiteに画像を格納したい
-
PythonのTkinter詳しい方へ。画...
-
C# Excelファイルへの画像挿入。
-
VBAでJPGサイズ変更
-
ビットマップ画像を読み込むプ...
-
同階層にある画像ファイルの数...
-
BLOBデーターの画像の表示方法...
-
手作業で埋め込んだ、UserForm1...
-
imageフォルダに、画像をリサイ...
-
最も速い画像合成処理を教えて...
-
PHPで吐き出した画像にリンクを...
-
Apache,phpで画像が表示されない
-
phpMyAdminに画像を保存できない
おすすめ情報