public static function copy($start_path, $copy_path, $dir_mode = 0777)
    {
        $return = mkdir($copy_path, $dir_mode, true);
        $files = self::getContent($start_path);
        foreach ($files as $file) {
            if (is_dir($start_path.DIRECTORY_SEPARATOR.$file)) {
                $return = self::copy(rtrim($start_path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file, $copy_path.DIRECTORY_SEPARATOR.$file, $dir_mode);
            } else {
                $return = copy(rtrim($start_path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file, $copy_path.DIRECTORY_SEPARATOR.$file);
            }
        }

        return $return;
    }
public static function copy($start_path, $copy_path, $dir_mode = 0777)
    {
        $return = mkdir($copy_path, $dir_mode, true);
        $files = self::getContent($start_path);
        foreach ($files as $file) {
            if (is_dir($start_path.DIRECTORY_SEPARATOR.$file)) {
                $return = self::copy(rtrim($start_path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file, $copy_path.DIRECTORY_SEPARATOR.$file, $dir_mode);
            } else {
                $return = copy(rtrim($start_path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file, $copy_path.DIRECTORY_SEPARATOR.$file);
            }
        }

        return $return;
    }
public static function copy ( $ start_path , $ copy_path , $ dir_mode = 0777 ) { $ return = mkdir ( $ copy_path , $ dir_mode , true ) ; $ files = self :: getContent ( $ start_path ) ; foreach ( $ files as $ file ) { if ( is_dir ( $ start_path . DIRECTORY_SEPARATOR . $ file ) ) { $ return = self :: copy ( rtrim ( $ start_path , DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . $ file , $ copy_path . DIRECTORY_SEPARATOR . $ file , $ dir_mode ) ; } else { $ return = copy ( rtrim ( $ start_path , DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . $ file , $ copy_path . DIRECTORY_SEPARATOR . $ file ) ; } } return $ return ; }
Recursive path copy for php.

@param  string  $start_path
@param  string  $copy_path
@return boolean
Recursive path copy for php .