所以我试着去做它会选择1.jpg 2.jpg或3.jpg。我的猜测是我做错了,但我没有得到任何php错误,也没有我的IDE告诉我我的CSS错了,所以我没有什么可以继续。
代码:
HTML / CSS:
<html>
<head>
<link rel="stylesheet" href="css/styles.css" type="text/css" media="all">
<script type="text/javascript" src="js/jquery-1.4.2.min.js" ></script>
<?php
include 'php/backgorundlogic.php';
?>
<style>
body {
background:url($bgset);
background-size:cover;
}
</style>
</head>
<body>
<div class="container">
<input class="searchbar" type="text" />
</div>
</body>
</html>
PHP:
<?php
$rbg = mt_rand(1, 3);
$ext = '.jpg';
$bgset = 'img/' + $rbg + $ext;
?>
DEMO:here
答案 0 :(得分:4)
使用。而不是+
<?php
$rbg = mt_rand(1, 3);
$ext = '.jpg';
$bgset = 'img/' . $rbg . $ext;
?>
并更改此行
<style>
body {
background:url(<?php echo $bgset; ?>);
background-size:cover;
}
</style>
答案 1 :(得分:2)
这一行:
background:url($bgset);
应该是这样的:
background:url(<?php echo $bgset ?>);
现在PHP引擎正在以{1}}的形式传递纯文本,因为它不在PHP脚本上下文中。您可能会考虑更加面向未来,HTML也可以逃避价值:
$bgset
答案 2 :(得分:0)
background: url('<?php $a = array(‘anyfile.jpg’,'anyotherfile.gif’, ‘somefile.png’); echo $a[array_rand($a)];?>');
或者如果您的图像名称符合最后的整数,例如。 clouds3.png
background: url('/images/lm/clouds<?php echo rand(0,10)?>.png') ;