图像不会出现

时间:2011-12-15 17:39:24

标签: php html

我是PHP的新手,我有这个功课要做。老师要求我们向用户显示一条问候语,如下所示:

好(早/晚/晚),用户名,实际日期(取自系统)。

PHP:

$username = "Foo";

if (date("H") > 0 && date("H") < 12) {
    $msg = "Good day";
    $image = "r_sun";
}
else if (date("H") >= 12 && date("H") < 18) {
    $msg = "Good evening";
    $image = "sun";
}
else {
    $msg = "Good Night";
    $image = "moon";
}

if (date("d") == 1) {
    $c = "st";
} 
else if (date("d") == 2) {
    $c = "nd";
}
else if (date("d") == 3) {
    $c = "rd";
}
else {
    $c = "th";
}

echo $msg . "<img src='images/" . $image . ".png' border='0' />, " . $username . "! Today is " . date("F") . " " . date("d") . $c . ", " . date("Y");

我的问题在于图像。我必须显示3个不同的图像,具体取决于正在显示的信息(早上好,晚上或晚上)。由于某种原因,图像不会加载到页面上。

3 个答案:

答案 0 :(得分:3)

您必须在../属性的images路径前添加src,如下所示:

<img src='../images/" . $image . ".png' border='0' />

这意味着您的image路径与您的脚本不在同一目录中,就像您一样。

另外,只需提示,将date值放在变量上:

$h = date("H");
$d = date("d");

if ($h > 0 && $h < 12) {
    $msg = "Good day";
    $image = "r_sun";
}

if ($d== 1) {
    $c = "st";
} 

将清除您的代码;)

答案 1 :(得分:0)

根据您的评论:

  

我的代码在路径www / admin上,图片在www / images

听起来img标签只需稍加调整即可。试试这个:

echo $msg . "<img src='../images/" . $image . ".png' border='0' />, " . $username . "! Today is " . date("F") . " " . date("d") . $c . ", " . date("Y");

关键区别在于将../添加到路径的开头。这是一个relative path标识,告诉浏览器在查找指定的路径/文件之前上一个目录。

请注意,这不是PHP代码的具体问题。代码正确地发出了有效的img标记。问题是该路径指向的文件不存在(www/admin/images/filename)而不是(www/images/filename)。

答案 2 :(得分:0)

您指定img src的方式,images必须与脚本位于同一目录中(如果您在html头中设置了basehref,则images必须存在。先检查一下。

其次,检查{{1}}目录的权限。它必须至少是世界可执行的(0711)。

第三,检查图像文件的权限。它们必须至少是世界可读的(0644)。