0

如果用户已上传到数据库,我有以下代码设置背景。如果用户尚未上传图片,则结果为空白 img src=''

我需要将此设置为 if isset 函数,以便在用户未上传任何内容时插入备用图像。

这是当前代码:

<div id="background"><?php echo isset($background_image) && file_exists(ROOT.$background_image)?"<img src='$background_image' alt='' />":'';?></div>
4

3 回答 3

1

您的代码有点脏,打开 php 并关闭它的 mid-html 标记只会让您在未来感到困惑。

您正在回显一个 isset,它只是回显一个布尔值。

尝试这个;

$background_image = ""; // Not sure what you're using here - their username? Dump it in here anyway.
if (file_exists($background_image))
{
    echo "  <div id=\"background\">
            <img src=\"{$background_image}\" alt=\"\" title=\"\" />
        </div>";
}

希望这可以帮助。

  • 伊根
于 2012-06-26T03:15:28.010 回答
0

我不确定您的意思,但是您尝试做的另一种方法是:

<div id="background">
<?php 
$optionalImage = 'background.png';
$userImage = getUserImage();
if(empty($userImage)) {
    $userImage = $optionalImage;
}
?>
<img src="<?php echo $userImage; ?>" />
</div>
于 2012-06-26T03:14:11.930 回答
0

设置图片的空白源真的有必要吗?

但是你正在尝试的一个可以理解和更正的代码是这个

<div id="background">

    <?php
    echo "<img src='"; 
        echo isset($background_image) && file_exists(ROOT.$background_image) ? $background_image : '';
    echo "' alt='' />";
    ?>

</div>

问题是,要么你是echo整个<img>标签,要么只是显示' '(空白)带有附加的结尾。

简短的形式:

    echo "<img src='".(isset($background_image) && file_exists(ROOT.$background_image) ? $background_image : '')."' alt='' />";
于 2012-06-26T03:18:14.493 回答