创建随机文件夹-PHP

创建随机文件夹-PHP,php,Php,我开发了一个API集成,它包含多个图像/文件上传。如果多个用户上载具有相同名称的文件,则会出现名称冲突 我计划创建带有随机名称的动态文件夹来解决这个问题(作为临时文件夹&将在流程完成后删除)。有什么方法/技术可以在PHP中生成随机文件夹吗?对于这样的事情,我发现PHP函数很有用。 基本上是这样的: $dirname = uniqid(); mkdir($dirname); 然后把上传的文件移到这个目录 编辑:忘了提一下,目录名不是随机的,但保证是唯一的,这似乎是您所需要的。是的,使用mkdir

我开发了一个API集成,它包含多个图像/文件上传。如果多个用户上载具有相同名称的文件,则会出现名称冲突


我计划创建带有随机名称的动态文件夹来解决这个问题(作为临时文件夹&将在流程完成后删除)。有什么方法/技术可以在PHP中生成随机文件夹吗?

对于这样的事情,我发现PHP函数很有用。 基本上是这样的:

$dirname = uniqid();
mkdir($dirname);
然后把上传的文件移到这个目录


编辑:忘了提一下,目录名不是随机的,但保证是唯一的,这似乎是您所需要的。

是的,使用
mkdir()
示例是可能的

<?php
mkdir("/path/to/my/dir", 0700);
?>

要了解更多信息,请查看此


我想最好有一个函数,尝试创建随机文件夹(并验证是否成功),直到成功为止

这一个没有竞争条件,也不取决于对uniqid()的信任,uniqid()提供了一个尚未在tempdir中用作名称的名称

function tempdir() {
    $name = uniqid();
    $dir = sys_get_temp_dir() . '/' . $name;
    if(!file_exists($dir)) {
        if(mkdir($dir) === true) {
            return $dir;
        }
    }
    return tempdir();
}

我不认为文件夹与你的系统崩溃有任何关系。主要问题可能是你的上传API实现。因为你要求“随机”,我还将分享我编写的创建随机目录的函数。谢谢工作得很好:)没有太多需要弥补的地方…谢谢:)我知道这是旧的,但对任何人来说
uniqid()
不保证是唯一的,但很可能是唯一的。