public static function mergFolders($srcPath, $dstPath, $blnOverwrite)
    {
        if (!$srcPath || !is_dir($srcPath)) {
            return;
        }
        $dir = opendir($srcPath);

        try {
            if (!file_exists($dstPath)) {
                mkdir($dstPath);
            }
            while (false !== ($file = readdir($dir))) {
                if (($file != '.') && ($file != '..')) {
                    if (is_dir($srcPath . '/' . $file)) {
                        self::copy_dir($srcPath . '/' . $file, $dstPath . '/' . $file, $blnOverwrite);
                    } else {
                        if ($blnOverwrite) {
                            copy($srcPath . '/' . $file, $dstPath . '/' . $file);
                        } else {

                            if (!file_exists($dstPath . '/' . $file)) {
                                copy($srcPath . '/' . $file, $dstPath . '/' . $file);
                            }
                        }
                    }
                }
            }
        }
        finally {
            closedir($dir);
        }
    }