Php 使用echo函数从页面隐藏不存在的图像

Php 使用echo函数从页面隐藏不存在的图像,php,mysql,Php,Mysql,我有以下几行: <td><img src="Photos/<? echo $rows['photo1']; ?>" height="200" /></td> “height=“200”/ 我并不总是有照片。我想隐藏图像空间。它看起来好像坏了,或者url错误。 <td><?php echo (!empty($rows['photo1']) ? '<img src="Photos/' . $rows['photo1'] .

我有以下几行:

<td><img src="Photos/<? echo $rows['photo1']; ?>" height="200" /></td>
“height=“200”/
我并不总是有照片。我想隐藏图像空间。它看起来好像坏了,或者url错误。


<td><?php echo (!empty($rows['photo1']) ? '<img src="Photos/' . $rows['photo1'] . '" height="200" />' : '') ?></td>

也许这更符合您的喜好:

 <img src="Photos/<? echo $rows['photo1']; ?>" height="200" onerror="this.style.display='none'" />
“height=“200”onerror=“this.style.display='none'”/>
它将图像设置为在出现问题(例如URL断开)时不显示

这样做的好处是避免了ternaries,将PHP与HTML分开,并且在没有过多文档的情况下保持了内容的清晰。希望能有所帮助。

没有
”;
}
?>
if(图像不是空的,并且存在){ 然后,回显img标记和变量 }


或者,如果要为空白值显示不同的图像:

<?php if (($rows['photo1'] !== "") || ($row['photo1'])) 
      {
       echo "<td><img src='Photos/" . $rows['photo1'] . "' height='200' /></td>";
      }
?>

“height=”200“/>

希望这有帮助:)

如果($rows['photo1']!='')你不能做
。。。echo$rows['photo1']
在模板中?尝试在img标记中使用
onerror=“this.style.display='none'
。我在回答中给出了一个示例。如果您使用的是本地图像,您可以使用
If(file_exists('path/to/image')检查文件是否存在。$rows['photo1']
;我个人的偏好是,三元表应该少用,不应该用模板代码插入。太容易出错。只是我的意见(没有否决票)。我不认为@drftorres将HTML和PHP分开。这里的格言是:“如果它看起来很愚蠢,而且有效,那就不愚蠢。”:)如果它看起来很愚蠢,而且很愚蠢,那么它就是愚蠢的。如果它有效,该死的!(但仍然…)我明白你的意思。我只是…当它解决问题的时候…为什么不。仅此而已。其他一切都是口味的问题。非常正确(因此,没有否决票).Ternaries是狡猾的野兽,因为它们在实践中很难自我记录。我的偏好是清晰表达的语法(使用
if
s)。这没有错,但它不是“对的”。
;)
另外,请参阅上面@Krynble的评论。
<td>
     <img src="Photos/<?php if ($rows['photo1'] !== ""){echo $rows['photo1'];}
                     else {echo "defaultimg.jpg";}?>" height="200" />
</td>