我在html中包含了php来根据一些变量更改背景图像。因此,我在body标签中调用img-set()
函数。功能正常。但是在运行该函数后,html代码会中断。我认为这是一些无法解决的语法问题。
<body style="background:url(images/<?php $obj->set_img();?>); -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;">
Web浏览器源代码中的输出如下所示:
<body style="background:url(images/music7.jpg
显示图像名称后中断。为什么呢?
这里是set_img()函数
function set_img()
{
$ctr = date("d");
$arr7 = array("7","18","29");
$status = 0;
foreach($arr7 as $value){
if($ctr == $value){
echo "music7.jpg";
$status = 7;
}}
if(!$status) echo "music1.jpg";
}
答案 0 :(得分:3)
使用<?php set_img();?>
而不是<?php $obj->set_img();?>
答案 1 :(得分:1)
你的set_img()函数可能存在问题,导致页面的其余部分停止渲染。输出图像后查看代码。快速测试以查看错误是否是由您的函数引起的,是删除该php块并查看该页面呈现是否正常。
答案 2 :(得分:1)
<body style="background:url(images/<?php set_img();?>); -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;">
答案 3 :(得分:0)
我认为也有一个未经渲染的例外。
但是当我观察set_img函数时,我无法想象它是如何抛出任何异常的。 可能是$ obj不是与正确的班级一起发生的吗?
答案 4 :(得分:0)
听起来像是一个无声的PHP错误。有时可能很难检测到。尝试检查/var/log/Apache2
处的Apache错误日志,并说明导致PHP崩溃的错误。
答案 5 :(得分:-1)
我认为您的网址可能会丢失引号。尝试:
<body style="background:url('imges/music7.jpg')">