Create Random Folders - PHP

前端 未结 3 1625
执笔经年
执笔经年 2021-01-05 13:55

I have developed an API integration, It contains multiple image/file uploads. There are name conflicts if multiple users uploads file with the same name.

I\'ve plan

相关标签:
3条回答
  • 2021-01-05 14:16

    Yes its possible using mkdir()Example

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

    For more check this

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

    0 讨论(0)
  • 2021-01-05 14:17

    I guess that it is best to have a function that tries creating random folders (and verifying if it is successful) until it succeeds.

    This one has no race conditions nor is it depending on faith in uniqid() providing a name that has not already been used as a name in the tempdir.

    function tempdir() {
        $name = uniqid();
        $dir = sys_get_temp_dir() . '/' . $name;
        if(!file_exists($dir)) {
            if(mkdir($dir) === true) {
                return $dir;
            }
        }
        return tempdir();
    }
    
    0 讨论(0)
  • 2021-01-05 14:34

    For things like this, I've found the php function uniqid to be useful. Basically, something like this:

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

    And then just move the uploaded file to this directory.

    Edit: Forgot to mention, the directory name is not random, but is guaranteed to be unique, which seems to be what you need.

    0 讨论(0)
提交回复
热议问题