命名用户头像的最有效方法是什么?

Max*_*Max 5 php

我想让我的用户在他们的个人资料上上传头像.我的第一个想法是将头像文件命名为:[user_id] .jpg.因此,即使用户更新其头像,它也保持相同的名称.

问题在于,如果我在服务器上使用缓存(或者即使在客户端上使用缓存),新的头像也不会显示出来.

我的新解决方案是将文件命名为:

[USER_ID] _ [RANDOM_NUMBER] .JPG

并将随机数存储在Users表中.你会如何以最有效的方式产生这个数字?或者也许有更好的解决方案?

Chr*_*ård 7

当用户上传新头像时,您应该能够使缓存无效.

如果这不可能,您可以将其存储为[uid] _ [YYYYMMDDhhmmss] .jpg等.无需随机生成任何内容......

  • 当然.. OP应该只使用uniqid().".JPG"; 然后将当前的avatar-filename存储在用户模型中. (3认同)

acm*_*acm 5

我会做的事情如下:

$avatarName = $userId . uniqid();
// add extension if needed, store it
Run Code Online (Sandbox Code Playgroud)

这将是快速的,做你想要的.uniqid()

编辑

根据其他用户的建议,您应该从图像名称中删除userId.拥有公共userId可能会导致将来出现问题.此外,uniqid()单独应该工作.

$avatarName = uniqid();
// add extension if needed, store it
Run Code Online (Sandbox Code Playgroud)