如果src为空,则显示占位符图像

时间:2014-10-26 20:42:31

标签: php

嘿伙计我有这段代码,如果src=""为空,我正试图显示图片。

我正在使用!empty尝试显示我的占位符图片,如您所见:

<img src="'.
    (!empty( $cardata["PictureRefs"]))
    ? (explode(',', $cardata["PictureRefs"])[0])
    : "db-content/theme/media/img/no-image.jpg" . '" data-src="'.
      (explode(',', $cardata["PictureRefs"])[0]) .'" alt="'.$cardata["Variant"].'"/> 
<img class="ms-thumb" src="'.
    (!empty( $cardata["PictureRefs"]))
    ? (explode(',', $cardata["PictureRefs"])[0])
    : "db-content/theme/media/img/no-image.jpg" .'" alt="'.$cardata["Variant"].'" />

出于某些原因,这不能在我的页面上工作,它只会破坏页面。

知道我可能会出错吗?我只剩下PDO从显示在页面上的文本中的数据库获取的外部URL。

CODE:

<?php $src = "db-content/theme/media/img/no-image.jpg";
        if(!empty( $cardata["PictureRefs"])){
        $src = explode(',', $cardata["PictureRefs"])[0];
        }
        $dataSrc = explode(',', $cardata["PictureRefs"])[0]; ?>
            <?php echo '
                <div class="ms-slide">
                    <img src="'.$src.'" data-src="'.$dataSrc.'" alt="'.$cardata["Variant"].'"/>
                    <img class="ms-thumb" src="'.(explode(',', $cardata["PictureRefs"])[0]).'" alt="'.$cardata["Variant"].'" />
                </div>' ?>

它只显示它首先尝试接收的图像的404。

1 个答案:

答案 0 :(得分:0)

虽然我不知道出了什么问题,但我重构了第一张图片的代码,以便更容易阅读并帮助其他人理解:

$src = "db-content/theme/media/img/no-image.jpg";

if(!empty( $cardata["PictureRefs"])){
    $src = explode(',', $cardata["PictureRefs"])[0];
}

$dataSrc = explode(',', $cardata["PictureRefs"])[0];

echo '<img src="'.$src.'" data-src="'.$dataSrc.'" alt="'.$cardata["Variant"].'"/>';

您使用的是PHP 5.5或更高版本吗?以这种方式进行数组解除引用(来自爆炸函数的结果)需要PHP 5.5或更高版本。

查看结果页面的来源并发布该页面可能很有用。