是的,就像这应该是这么简单,我根本无法使这段代码工作。
我正在尝试检查是否存在用户头像图像,如果不存在,请使用默认图像。现在,即使图像存在且文件名,路径,拼写,格式等都正确,file_exists()
始终返回false
声称该文件不存在。
<?php
$avatar = 'http://'.$_SERVER['SERVER_NAME'].'/ihg/dist/img/user'.$_SESSION['ID'].'-128x128.jpg';
$default = 'http://'.$_SERVER['SERVER_NAME']."/ihg/dist/img/user_default.jpg";
if (!file_exists($avatar)) {
echo "<img src=\"$default\" class=\"user-image\" alt=\"User Image\">";
} else {
echo "<img src=\"$avatar\" class=\"user-image\" alt=\"User Image\">";
}
?>
这是服务器端问题还是代码有问题?
编辑: 我也尝试使用$ _SERVER ['DOCUMENT_ROOT']变量和绝对路径,但没有结果。
答案 0 :(得分:2)
file_exists()
接受文件路径而不是网址。
要根据URL确定图像是否存在,您需要检查响应类型。
由于这些是本地资源,您只需从使用URL切换到完整服务器文件路径。 ($avatar = '/path/to/root/...
)