为了将用户上传的文件存储在磁盘文件夹内的远程服务器上,我将文件名更改为
$filename = '/tmp/foo.txt';
$newName = sha1_file($filename); // 40 characters
//or I can do
$newName = uniqid($filename) // 13 characters
对于不太可能失败的新名称,哪种方法更可靠?? 谢谢。
最佳答案
更好的解决方案是使用tmpfile()
或tempnam()
。任何一个都可以保证创建一个未使用的文件,该文件不会发生冲突,也不会被流氓进程更改对您的权限“拦截”。 tmpfile()
会在文件关闭时自动删除文件,而 tempnam()
会保留它
关于php - 磁盘上文件的随机名称 sha1 或 uniqid 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6224513/