php 递归的生成目录函数

/**
 * 递归的生成目录
 * @param  str $dir 必须是目录
 */
function mkdirs($dir)
{
    return is_dir($dir) ?: mkdirs(dirname($dir)) && mkdir($dir);
}

// 测试如下:
$res1 = mkdirs('ABC/DEF/GHI');    // 生成目录,$res1为true
$res2 = mkdirs('JKL/*&/MNO');    // 只生成目录JKL,$res2为false