将背景图像发布到回显的div,我从数据库中获取要用于特定div的图像名称,但是当我尝试将文件路径设置为背景图像时,如下面的代码所示,它不起作用,我也试过了
style='background-image: url('<?php echo $imageLocation; ?>')'
。
所以它回应div但是他的背景没有改变,我在文件夹中有正确的图像,我用作我的文件路径。我将非常感谢您的帮助,
if (mysqli_num_rows($res) > 0) {
while ($row = mysqli_fetch_assoc($res)) {
$img = $row['img'];
define ('SITE_ROOT', $_SERVER['DOCUMENT_ROOT']);
$imageLocation = SITE_ROOT."images/articlePics/$img";
$posts .= "<div class='newArticle' style='background-image: url('$imageLocation')'></div>";
}
echo $posts;
}
答案 0 :(得分:1)
删除变量周围的引号:
url('$imageLocation')
^ ^
所以它读作:
url($imageLocation)
或使用转义双引号:
url(\"$imageLocation\")
旁注:不使用url("$imageLocation")
而不转义双引号,因为这会引发解析错误。
两者都有效。但是,我会选择后者,作为应该使用的方法的转义双引号。
根据https://developer.mozilla.org/en/docs/Web/CSS/background-image
的示例background-image: url("http://www.example.com/bck.png");
如果仍然失败,您可能在某处出现语法错误。
参考文献:
&#34;我也试过
style='background-image: url('<?php echo $imageLocation; ?>')'
&#34;
如果你在echo中尝试了那个,那么就会抛出一个解析错误;因为你已经在PHP中了。
如果它不在PHP之外,那么以下内容也会起作用:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'></div>
</body>
但是,由于div内部没有任何内容,因此它无法向您展示任何内容。如果您查看HTML源代码,您会看到图像源实际上就在那里。如果不是,再次;你可能在某个地方有错误。
所以你可以用一些文字来测试它,例如:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'>Some text</div>
</body>
或:
<body>
<?php
$article = "Your article";
?>
<div style='background-image: url("<?php echo $imageLocation;?>")'>
<?php echo $article;?>
</div>
</body>