如果没有找到,用户pic的PHP搜索文件夹设置默认图像

时间:2017-03-06 06:50:56

标签: php html mysql image

我使用名为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" /> 

3 个答案:

答案 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条件。如果没有,则加载默认图像。