• Uncategorized

About php : Create-Random-Folders—PHP

Question Detail

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 planned to create dynamic folders with random names to fix this issue (as temp folder & will delete once the process has been done). Are there any methods/techniques available to generate random folders in PHP?

Question Answer

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.

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();
}

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

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.