Копировать папку без перезаписи - PullRequest
1 голос
/ 12 ноября 2009

Я нашел этот вопрос (здесь) о копировании файла без перезаписи

Как скопировать файл в PHP без перезаписи существующего файла?

Мне нужен php-скрипт для копирования всех файлов в папке , также есть несколько подпапок; поэтому он должен быть рекурсивным.

Мне нужно передать его по FTP, поэтому я не знаю, насколько это важно для подхода.

Заранее большое спасибо!

Ответы [ 2 ]

3 голосов
/ 12 ноября 2009

Попробуйте это из комментария на странице руководства для copy:

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); 
} 

Обратите внимание, что это решение удачно перезапишет любые файлы, которые существуют в каталоге $dst. Если вы хотите избежать этого, вы можете заключить код в в этом вопросе в функцию и вызвать эту функцию вместо copy.

Я не уверен, что вы хотите передать по FTP, если вы укажете, что я буду рад отредактировать мой ответ.

0 голосов
/ 12 ноября 2009

Существует большая разница между копией файловой системы и копией FTP, которую вы можете посмотреть на PEAR FTP Class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...