我想使用PHP的uniqid()
函数为图像上传创建一个文件名。
只有一个人上传图片,他们一次只能上传一个。我不在乎文件名可以进行逆向工程以获得时间,因为它只是一个文件名。
对我的用例来说,uniqid是100%独一无二的吗?
尝试使用以下内容:
md5(rand(1,1000000).uniqid(mt_rand(), true))
这段代码已经增加了唯一性。
在这种情况下,您可以使用time()函数
$uniqueFilename=time().uniqid(rand());
或者喜欢这个
$originalFileName = myimage.png
$uniqueFilename=time().$originalFileName;
是的,uniqid()
在您的情况下将始终是唯一的,因为您只允许一个人和一个同时上传。这将起作用,因为uniqid()
是根据系统时间生成的。
您还可以使用uniqid(rand(), true)
生成更随机的文件名或md5();
来加密您的文件名。