Completed
Push — master ( 3cf61a...455b58 )
by Saulius
01:58
created

create_directory_path()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 1
cts 1
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * This file is part of the sauls/helpers package.
4
 *
5
 * @author    Saulius Vaičeliūnas <[email protected]>
6
 * @link      http://saulius.vaiceliunas.lt
7
 * @copyright 2018
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
13
namespace Sauls\Component\Helper;
14
15
function rrmdir(string $directory): bool
16
{
17 1
    if (is_dir($directory)) {
18
19 1
        $objects = scandir($directory, SCANDIR_SORT_NONE);
20
21 1
        foreach ($objects as $object) {
22
23 1
            if ($object !== '.' && $object !== '..') {
24
25 1
                $currentDirectory = create_directory_path([$directory, $object]);
26
27 1
                if (filetype($currentDirectory) === 'dir') {
28 1
                    rrmdir($currentDirectory);
29
                } else {
30 1
                    unlink($currentDirectory);
31
                }
32
            }
33
        }
34 1
        reset($objects);
35
36 1
        return rmdir($directory);
37
    }
38
39 1
    return false;
40
}
41
42
function create_directory_path(array $directories): string
43
{
44 1
    return implode(DIRECTORY_SEPARATOR, $directories);
45
}
46