Страницы

Поиск по вопросам

четверг, 6 июня 2019 г.

Перенос папок в папку

Есть папка A Есть папка Б Нужно перенести содержимое Б в А. Содержимое может совпадать по имени. Т.е. если совпали папки, то просто переносится содержимое папки, если совпали файлы, то перезаписываются. Если папки нет, то создается и переносятся данные. Здесь очень похожая функция, но не работает с совпадениями. Думаю многие встречались с подобным. p.s. как запасной план, использовать линуксовые возможности.


Ответ

Создается функция которая принимает на вход путь и создаёт папки для этого пути. (например, mkdirs('/home/pupkin/dirs/A'); на каждой папке проверяет её существование, если папки не существует - то создаём её если существует то ничего не делаем, переходим к вледующей части пути) Создаётся функция рекурсивного копирования. recursiveCopy($from, $to) читаем содержимое папки $from в цикле: если это файл то: копируем его из $from.'/'.$file в $to.'/'.$file если это папка: mkdirs($to.'/'.$file); recursiveCopy($from.'/'.$file, $to.'/'.$file); вот и всё.

Комментариев нет:

Отправить комментарий