копирование всей папки

Тема в разделе "PHP", создана пользователем Dj_StelS, 4 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    И так, помогите написать скрипт...

    Есть папка test.ru/test1/test_copy
    Нужно полностью со всеми папками, подпапками и всеми файлами (кароче полностью) скопировать папку test_copy в папку test.ru/test1/test_copy1

    За ранее спасибо...:)

    Добавлено через 17 минут
    сделал вот так:
    PHP:
    $old_dir $_SERVER['DOCUMENT_ROOT']."/test1/test_copy/"
    $new_dir $_SERVER['DOCUMENT_ROOT']."/test1/test_copy1/"

    $dir opendir($old_dir);  
    while(
    $file readdir($dir))  

        if(
    is_file($old_dir."/".$file)) 
        { 
        
    $cont file_get_contents($old_dir."/".$file); 
        
    file_put_contents($new_dir."/".$file$cont); 
        } 
    }
    копирует только файлы в /test1/test_copy/ , подпапки со всеми подпапками и файлами не копирует (/test1/test_copy/test3/)
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    Надо просто добавить условие, чтобы когда он находил папку- вызывал опять эту функцию.
    Например из мануала
    http://www.php.net/manual/en/function.copy.php#91010
    PHP:
    <?php
    function recurse_copy($src,$dst) {
        
    $dir opendir($src);
        @
    mkdir($dst);
        while(
    false !== ( $file readdir($dir)) ) {
            if (( 
    $file != '.' ) && ( $file != '..' )) {
                if ( 
    is_dir($src '/' $file) ) {
                    
    recurse_copy($src '/' $file,$dst '/' $file);
                }
                else {
                    
    copy($src '/' $file,$dst '/' $file);
                }
            }
        }
        
    closedir($dir);
    }
    ?>
     
    Dj_StelS нравится это.
Статус темы:
Закрыта.