繁体   English   中英

创建随机文件夹 - PHP

[英]Create Random Folders - PHP

我开发了一个 API 集成,它包含多个图像/文件上传。 如果多个用户上传同名文件,则存在名称冲突。

我计划创建具有随机名称的动态文件夹来解决此问题(作为临时文件夹,并会在该过程完成后删除)。 是否有任何方法/技术可用于在 PHP 中生成随机文件夹?

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

$dirname = uniqid();
mkdir($dirname);

然后只需将上传的文件移动到此目录。

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

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

这个没有竞争条件,也不依赖于对 uniqid() 提供的名称的信念,该名称尚未用作 tempdir 中的名称。

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

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

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

更多检查这个

http://php.net/manual/en/function.mkdir.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM