我在我的服务器上使用WP 3.5.1,二十十二子主题和PHP 5.2。我正在尝试使用php脚本(适用于我的其他网站)来获得随机的背景图像,但它不起作用:
CSS:
body {
background: url(<?php include ("bg.php"); echo $selectedBg; ?>) no-repeat fixed;
}PHP:
<?php
$bg = array('1.jpg','2.jpg','3.jpg','4.jpg','5.jpg');
$i = rand(0, count($bg)-1);
$selectedBg = "$bg[$i]";
?>我的php文件和jpg文件在同一个文件夹里,你有什么想法吗?
没有错误。如果我使用background: url(1.jpg);(而不是php),它可以正常工作,但显然会显示一张图片。
发布于 2013-06-25 15:55:44
小解决方案:
我们知道他在服务器上有5张图片:
'1.jpg','2.jpg','3.jpg','4.jpg','5.jpg'所以快速提示:
<body style="background: url('pahttoimages/<?= rand(1, 5) ?>.jpg') no-repeat top center;">发布于 2013-06-25 15:38:27
我想CSS文件不能解释你的PHP代码试试body { background: url(<?php echo '1.jpg'; ?>) no-repeat fixed; }
发布于 2013-06-25 15:44:40
据我所知,你的代码是有效的。
除非,你真的应该写最后一行,就像这样:
$selectedBg = $bg[$i];这里不需要引号。
我怀疑这就是导致错误的原因:
我的php文件和jpg的在同一个文件夹里,你有什么想法吗?
背景图像需要相对于您正在使用的模板文件,而不是PHP文件。只有当图像与模板切片位于同一文件夹中时,您的脚本才会起作用。
在我的WP安装中,我有一个位于/wp-content/themes/mytemplate/中的模板和位于/wp-content/themes/mytemplate/images/中的模板图形。如果我要使用你的脚本,我需要在你的数组中的所有背景之前预先附加/images/。
顺便说一下,您应该考虑在Firefox上安装Firebug并检查源代码。背景名称是否已解析到模板中?加载镜像是否会返回404 not found-error?位置和路径是否正确?
background-image: url(<?php include ("bg.php"); echo $selectedBg; ?>);
background-position: fixed;
background-repeat: no-repeat;https://stackoverflow.com/questions/17291408
复制相似问题