2017-03-06 48 views
1

我使用一个伟大的开源脚本bulletproof允许用户上传个人资料图片。用户图片的PHP搜索文件夹设置默认图片,如果没有发现

配置文件图片按指定存储在文件夹中。我没有使用任何MySQL。

我想要做的是显示一个默认用户img,如果用户还没有上传个人资料图片。

如果他/她已经上传了个人资料图片,默认的img显然会被覆盖到用户上传的图片上。

问题出现在如何显示默认配置文件图片,如果用户还没有上传任何东西?请记住即时消息不使用任何MySQL。

当图像被上传它被赋予的用户ID的名称,像这样

<img src="imgs/users/1.png" style="width:100%" height="125px"> 

你会说这是搜索文件夹的名称的用户ID的图像匹配的最有效方法是什么?

如果发现有什么display uploaded img else display default 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

设置默认值为'/ path/to/default/image.png'到你持有关于用户图像的引用的字段(数据库,文本文件或其他)。 – marmeladze

+0

您是否试图编写任何可以执行此操作的代码? – geeves

+0

@geeves是的我有 –

回答

3

您可以使用: 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); 
?> 
+0

实际工作,谢谢你! –

1

您可以使用file_exists检查图像存在,然后使用默认的形象,如果说回报假。

+0

嗨Netrilix谢谢你的回答,我修改了我的函数,如下所示,但它继续返回默认....'function getProfilePic($ userID){ \t \t $ filename ='imgs/users'。$ userID。'。PNG“; \t if(file_exists($ filename)){ \t \t return $ img = $ userID; \t} \t else { \t \t return $ img ='default'; \t \t} }' –

+1

你忘了你的斜杠:) $ filename ='imgs/users /'.$ userID。'。png'; – sukalogika

+0

aaah得到它感谢队友 –

0

在图片上传的时间,让用户明智图像。手段图片名称必须是用户名或ID的名称。

在显示图像的时候放入if条件来检查登录用户图像是否存在使用其ID或名称file_exists。如果不是,则加载默认图像。

相关问题