我使用名为bulletproof的优秀开源脚本,允许用户上传个人资料图片。
个人资料照片存储在指定的文件夹中。我没有使用任何mysql。
如果用户尚未上传个人资料照片,我想要显示的是默认用户img。
如果他/她已经上传了个人资料图片,则默认的img显然会被覆盖到用户上传的图片。
问题在于如果用户没有上传任何内容,我将如何显示默认配置文件图片?请记住我不使用任何mysql。
上传图片时,会为其分配用户ID的名称,如此
<img src="imgs/users/1.png" style="width:100%" height="125px">
您是否认为在名称userID上搜索文件夹中的图像匹配是最有效的方法?
如果发现某些内容显示已上传img,则显示默认img?或者我应该选择mysql路线?
希望问题很明确,如果您需要更多信息,请在下面给我发表评论。任何建议和/或帮助表示赞赏。
编辑:这是我最终提出的,可能不是最有效但是完成工作 function getProfilePic($userID){
$filename ='imgs/users/'.$userID.'.png';
if(file_exists($filename)){
return $img = $userID.'png';
exit();
}
$filename='imgs/users/'.$userID.'.jpg';
if(file_exists($filename)){
return $img = $userID.'jpg';
exit();
}
else{
return $img = 'default.jpg';
exit();
}
}
<img src="imgs/users/<?php echo getProfilePic($userID) ?>" style="width:100%" height="125px" />
答案 0 :(得分:4)
您可以使用: PHP file_exists()函数
参考 https://www.w3schools.com/Php/func_filesystem_file_exists.asp
或修改此代码:)
<?php
function show_image($user_id){
if(file_exists("imgs/users/$user_id.png")){
return "<img src=\"imgs/users/$user_id.png\" style=\"width:100%\" height=\"125px\">";
}
else{
return "<img src=\"imgs/users/default.png\" style=\"width:100%\" height=\"125px\">";
}
}
echo show_image(1);
?>
答案 1 :(得分:1)
您可以使用file_exists
检查图像是否存在,然后使用默认图像(如果返回false)。
答案 2 :(得分:0)
在图片上传时,制作用户图像。表示图像名称必须是用户名或ID的名称。
在显示图像时,在file_exists
中使用其ID或名称检查登录用户图像是否存在if条件。如果没有,则加载默认图像。