Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




_copy_dir [ WordPress Function ]

_copy_dir ( $from, $to, $skip_list = array() )
Parameters:
  • (string) $from source directory
  • (string) $to destination directory
  • (array) $skip_list a list of files/folders to skip copying
See:
Returns:
  • (mixed) WP_Error on failure, True on success.
Defined at:



Copies a directory from one location to another via the WordPress Filesystem Abstraction.

Assumes that WP_Filesystem() has already been called and setup.

This is a temporary function for the 3.1 -> 3.2 upgrade only and will be removed in 3.3

Source


<?php
function _copy_dir($from$to$skip_list = array() ) {
    global 
$wp_filesystem;

    
$dirlist $wp_filesystem->dirlist($from);

    
$from trailingslashit($from);
    
$to trailingslashit($to);

    
$skip_regex '';
    foreach ( (array)
$skip_list as $key => $skip_file )
        
$skip_regex .= preg_quote($skip_file'!') . '|';

    if ( !empty(
$skip_regex) )
        
$skip_regex '!(' rtrim($skip_regex'|') . ')$!i';

    foreach ( (array) 
$dirlist as $filename => $fileinfo ) {
        if ( !empty(
$skip_regex) )
            if ( 
preg_match($skip_regex$from $filename) )
                continue;

        if ( 
'f' == $fileinfo['type'] ) {
            if ( ! 
$wp_filesystem->copy($from $filename$to $filenametrueFS_CHMOD_FILE) ) {
                
// If copy failed, chmod file to 0644 and try again.
                
$wp_filesystem->chmod($to $filename0644);
                if ( ! 
$wp_filesystem->copy($from $filename$to $filenametrueFS_CHMOD_FILE) )
                    return new 
WP_Error('copy_failed'__('Could not copy file.'), $to $filename);
            }
        } elseif ( 
'd' == $fileinfo['type'] ) {
            if ( !
$wp_filesystem->is_dir($to $filename) ) {
                if ( !
$wp_filesystem->mkdir($to $filenameFS_CHMOD_DIR) )
                    return new 
WP_Error('mkdir_failed'__('Could not create directory.'), $to $filename);
            }
            
$result _copy_dir($from $filename$to $filename$skip_list);
            if ( 
is_wp_error($result) )
                return 
$result;
        }
    }
    return 
true;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics