質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

14226閲覧

【php】条件が合ったとき画像を表示させたいです。

apprio

総合スコア19

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/11/09 07:51

編集2016/11/09 07:54

###条件が合ったとき画像を表示させたいです。
phpの勉強をしています。
ifで条件が合ったときに画像を表示させたいです。

$filenameにはファイルのパスが入っています。

中身を見てパスが入っていれば
画像を表示、入っていなければなにもしません。

###該当のソースコード

php

1 <?php 2 if (is_null($filename)) { 3 echo 'NULL'; 4 }else { 5 echo 'NOT NULL'; 6 echo "<img src="$filename">; 7 } 8 9 ?> 10

###エラー内容
エラー内容は

echo "<img src="$filename">;

の部分が構文エラーと言われます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

echo "<img src=".$filename">;
ダブルクォーテーションを閉じ忘れていますし、文字列の結合が不完全です。
echo "<img src=".$filename.">";
ただしこれだとタグとして不完全ですので次のようにします。
echo '<img src="'.$filename.'">';

投稿2016/11/09 07:58

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apprio

2016/11/09 08:12

ありがとうございます!できました!
apprio

2016/11/09 08:16

変数を使うときは"ダブルクォーテーション"だと思っていたのですが'シングルクォーテーション'も使うのですね、なぜですか?
ttyp03

2016/11/09 23:27

シングルとダブルの動作の違いがわかっていれば理由は自ずとわかるはずです。 シングルは中身をそのまま出力。 ダブルは変数やエスケープシーケンスを展開して出力。 $filename = "sample.txt"; echo "$filename"; // sample.txt echo '$filename'; // $filename また文字列の連結にはピリオド(.)が使えます。 回答に書いたのは、src="....." の形で出力するためです。 他の回答者のように、ダブルで囲ってエスケープシーケンスを使っても可です。
guest

0

ベストアンサー

php

1echo "<img src="$filename">;

php

1echo "<img src=\"$filename\">";

投稿2016/11/09 07:57

編集2016/11/09 07:59
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apprio

2016/11/09 08:12

ありがとうございます!できました!
apprio

2016/11/09 08:17

皆様の回答を見ていると echo "<img src=\"$filename\">"; echo '<img src="'.$filename.'">'; 二通りあるようですがどちらが適切なのですか?
退会済みユーザー

退会済みユーザー

2016/11/09 08:22

echo "<img src=\"$filename\">"; echo '<img src="'.$filename.'">'; この二つは、shつ力結果が異なります。
退会済みユーザー

退会済みユーザー

2016/11/09 08:23

ブラウザ上で右クリック、「ソースを表示」で確認して見てください。
guest

0

構文エラーですね。
下記のサイト辺りを参考にしてみて下さい。
http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=string&cid=006

投稿2016/11/09 08:00

wakame_taishi

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apprio

2016/11/09 08:12

ありがとうございます!読ませていただきます!
guest

0

PHPで文字を連結するときは「.」を使います。
マニュアル
さらにechoの"が閉じられていません。
さらにHTMLの使う"がありません。

PHP

1echo "<img src=\"".$filename."\">";

投稿2016/11/09 07:57

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apprio

2016/11/09 08:12

ありがとうございます!できました!
apprio

2016/11/09 08:18

連結を把握していませんでした。 HTMLの使うは書いてませんがありますので 教えて頂いたのでできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問