我想让我的用户在他们的个人资料上上传头像.我的第一个想法是将头像文件命名为:[user_id] .jpg.因此,即使用户更新其头像,它也保持相同的名称.
问题在于,如果我在服务器上使用缓存(或者即使在客户端上使用缓存),新的头像也不会显示出来.
我的新解决方案是将文件命名为:
[USER_ID] _ [RANDOM_NUMBER] .JPG
并将随机数存储在Users表中.你会如何以最有效的方式产生这个数字?或者也许有更好的解决方案?
当用户上传新头像时,您应该能够使缓存无效.
如果这不可能,您可以将其存储为[uid] _ [YYYYMMDDhhmmss] .jpg等.无需随机生成任何内容......
我会做的事情如下:
$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)
| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |