在php模块中显示图像

时间:2013-08-08 18:23:51

标签: php html mysql

我正在尝试打印其位置保存在我的数据库中的图像,我已将绝对位置存储在数据库而不是相关的位置,我浏览了很多问题,包括这个 include a PHP result in img src tag 我尝试了问题的相应提问者的所有选项,但我没有得到我的输出,休息一切都显示图像,它显示没有找到文件

这是我的代码,任何帮助将不胜感激

while($result=@mysql_fetch_array($resul,MYSQL_ASSOC)){
    $image = $result['image'];
    echo $result['company'] . " " . $result['model'] . "<br>" ;
    echo '<img src="$image" height="50" width="50" />';
}

我知道我使用的是mysql函数而不是mysqli,但是这段代码还没有生效。

2 个答案:

答案 0 :(得分:3)

正如观察者所说,PHP不会在单引号字符串中进行变量插值。

  

双引号字符串最重要的特性是变量名称将被扩展。

Read more about strings from the PHP manual.

因此,当您查看HTML时,您将字面看到:

<img src="$image" height="50" width="50" />

您的代码应为:

while($result = mysql_fetch_array($resul,MYSQL_ASSOC)) {
    $image = $result['image'];
    echo $result['company'] . " " . $result['model'] . "<br>";
    echo "<img src='$image' height='50' width='50'>";
}

或者,插入数组值:

while($result = mysql_fetch_array($resul,MYSQL_ASSOC)) {
    echo $result['company'] . " " . $result['model'] . "<br>";
    echo "<img src='{$result['image']}' height='50' width='50'>";
}

如果文件名包含空格或其他特殊字符,则可能需要使用rawurlencode()。在这种情况下,您必须连接字符串,因为您正在调用返回string值的函数:

echo "<img src='" . rawurlencode($result['image']) . "' height='50' width='50'>";

答案 1 :(得分:1)

当您将变量包含在单引号中时,PHP不会插入变量。有关详细信息,请参阅manual