Mr *_*der 5 php upload sha1 file unique
要在磁盘文件夹内的远程服务器上存储用户上传的文件,我将文件名更改为
$filename = '/tmp/foo.txt';
$newName = sha1_file($filename); // 40 characters
//or I can do
$newName = uniqid($filename) // 13 characters
Run Code Online (Sandbox Code Playgroud)
对于不太可能失败的新名称,这是一种更健壮的方法?谢谢.
更好的解决方案是使用tmpfile()或tempnam().任何一个都可以保证创建一个不会发生冲突的未使用文件,并且不会被更改权限的恶意进程"截获".tmpfile()在文件关闭时自动删除文件,同时tempnam()保留文件
http://www.php.net/manual/en/function.tmpfile.php
http://www.php.net/manual/en/function.tempnam.php