0

我有一个非常非常简单的功能:

function getUserImage($id) {

    if (file_exists(SITE_ROOT . '/images/' . $id)) {
        return "http://www.---.net/images/" . $id;                         
    } else {
        return "http://www.---.net/images/usericon.png";  
    }
}

它是这样称呼的:

<img src="<?php echo getUserImage($row['user_id'].".jpg"); ?>" />

如果用户没有个人资料图片,我想要做的是显示一个默认图标。即使正在测试正确的路径,它每次都显示默认图标(我已经确认了这一点)。也许我用file_exists()错了?

4

2 回答 2

0

file_exists() 在文件系统级别工作。您正在传递类似 的/images/whatever内容,因此它将在文件系统顶部的目录中查找文件,例如,您正在尝试等效whateverimages

c:\images\whatever

而不是图像实际存在的位置,在您网站的文档根目录中,例如

c:\inetpub\wwwroot\example.com\html\images\whatever

您通常不能直接在文件系统上下文中使用 url,因为您在 URL 中看到的路径很少会直接映射到服务器文件系统上的内容。

于 2013-07-10T18:22:09.377 回答
0
function getUserImage($id) {

    if (file_exists(SITE_ROOT . '/profile_pics/' . $id)) {
        return "http://www.---.net/profile_pics/" . $id;                         
    } else {
        return "http://www.---.net/images/usericon.png";  
    }


}

我在错误的文件夹中搜索。应该一直profile_pics都有~

于 2013-07-10T18:40:28.123 回答