static function copy_r($source, $dest, $mode = 0755) { $dh = @opendir($source); if ($dh) { while ($name = readdir($dh)) { if ($name == '.' || $name == '..') { continue; } $path = $source . '/' . $name; if (is_dir($path)) { File::copy_r($path, $dest . '/' . $name); } else { $dest_path = $dest . '/' . $name; File::check_path($dest_path, $mode); @copy($path, $dest_path); } } @closedir($dh); } }