Showing posts with label PHP Create Nested Directories. Show all posts
Showing posts with label PHP Create Nested Directories. Show all posts

Monday, 24 September 2018

PHP create nested directories for a given path

If a file is to be saved in at path /var/www/a/b/c/d/abc.zip where the directory c and d dont exist then the directories have to created.
Here is a function that uses recursion to check for directories in a path and create them if they do not exist :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
    Make a nested path , creating directories down the path
    Recursion !!
*/
function make_path($path)
{
    $dir = pathinfo($path , PATHINFO_DIRNAME);
     
    if( is_dir($dir) )
    {
        return true;
    }
    else
    {
        if( make_path($dir) )
        {
            if( mkdir($dir) )
            {
                chmod($dir , 0777);
                return true;
            }
        }
    }
     
    return false;
}
 
make_path('/var/www/a/b/c/d/abc.zip');
The above will create the directories a b c and d , after that the path can be used to save a file or do something similar.