我有一个非常非常简单的功能:
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()
错了?
答案 0 :(得分:0)
file_exists()在文件系统级别工作。您正在传递/images/whatever
之类的内容,因此它会在whatever
目录中查找位于文件系统TOP位置的images
文件,例如你试图相当于
c:\images\whatever
而不是图像实际存在的位置,在您网站的文档根目录中,例如
c:\inetpub\wwwroot\example.com\html\images\whatever
您通常不能直接在文件系统上下文中使用URL,因为您在URL中看到的路径很少直接映射到服务器文件系统上的内容。
答案 1 :(得分: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
〜