Пример #1
0
 function mkdir($dir, $perm = 0777, $parents = true)
 {
     $dir = fs::clean_path($dir);
     if (is_dir($dir)) {
         return true;
     }
     if (!$parents) {
         return fs::_do_mkdir($dir, $perm);
     }
     $separator = fs::separator();
     $path_elements = fs::explode_path($dir);
     if (count($path_elements) == 0) {
         return true;
     }
     $index = fs::_get_first_existing_path_index($path_elements, $separator);
     if ($index === false) {
         //this is really a fatal case...
         return false;
     }
     $offset_path = '';
     for ($i = 0; $i < $index; $i++) {
         $offset_path .= $path_elements[$i] . $separator;
     }
     for ($i = $index; $i < count($path_elements); $i++) {
         $offset_path .= $path_elements[$i] . $separator;
         if (!fs::_do_mkdir($offset_path, $perm)) {
             return false;
         }
     }
     return true;
 }