0

PHP で動的な画像パスをエコーし​​ようとしています。私は動作するこのコードを持っています

 <?php
 //this code works
 $image = '<img src="img/newlogo.jpg">';
 echo($image);
?>
//gives me an image

そして、そうではないこのコード

 <?php
 //this code doesn't
 $lineofstring='newlogo.jpg';

 $image = '<img src="img/$lineofstring">';
 echo($image);
?>

$lineofsting は、実際には mysql データベースに保存される画像パスになります。たとえば、pictureabc.jpg、2 行目は picturexyz.jpg などです。

検索したイメージパス名を $lineofstring に渡そうとしていますが、これはエコーされますが、画像は表示されません。どこが間違っているのですか?

4

3 に答える 3

4

"PHP で変数を補間するには、二重引用符を使用する必要があります。

$image = "<img src=\"img/$lineofstring\">";

この場合、インナーをエスケープする必要があります"

で文字列を連結することもできます.:

$image = '<img src="img/' . $lineofstring . '">';

もっと簡単なら。

于 2012-04-28T01:24:11.147 に答える
2

変数$lineofstringは、一重引用符を使用した文字列です。一重引用符は、変数が変数として認識されないように、文字列をそのまま使用するように PHP に指示します。二重引用符に変更するか、連結を使用して目的を達成してください。

$image = "<img src=\"img/$lineofstring\">";

または:

$image = '"<img src="img'.$lineofstring.'">';
于 2012-04-28T01:24:22.190 に答える
0
$profilepicture="images/profiles/".$myid.".gif";
$noprofilepicture="images/profiles/no_avatar.gif";

echo "<IMG SRC='";
if (file_exists($profilepicture)) {
echo "".$profilepicture."";
} else {
echo "".$noprofilepicture."";
}
echo "'>";
于 2012-07-21T06:50:39.563 に答える