我想使用PHP uniqid()
函数创建用于上传图片的文件名。
只有一个人上传图像,并且一次只能上传一个。我不在乎文件名可以反向工程以节省时间,因为它只是文件名。
在我的用例中,uniqid是100%唯一的吗?
答案 0 :(得分:0)
尝试使用如下所示的内容:
md5(rand(1,1000000).uniqid(mt_rand(), true))
此代码段已经增加了唯一性。
答案 1 :(得分:0)
在这种情况下,您可以使用time()函数
$uniqueFilename=time().uniqid(rand());
或者像这样
$originalFileName = myimage.png
$uniqueFilename=time().$originalFileName;
答案 2 :(得分:0)
是的,uniqid()
在您的情况下将始终是唯一的 ,因为您一次只能允许一个人上传一个。这将起作用,因为uniqid()
是根据系统时间生成的。
您还可以使用uniqid(rand(), true)
生成更随机的文件名,或使用md5();
加密您的文件名。