|
|
|
| Подскажите пожалуйста как можно сделать копирование файлов с сохранением структуры дерева каталогов на пхп. пример такой: download1/4put/pictures/max/1.png скопировать в download2/4put/pictures/max/1.png. | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 12:33)
| | Создать download2, а в ней такое же дерево каталогов как и у download1, а затем копирование. | |
|
|
|
|
|
|
|
для: sim5
(26.02.2011 в 12:37)
| | вся проблема в том, что я не знаю как создать дерево каталогов | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 12:41)
| | Последовательно, сверху вниз, то есть от самой верхней папки его, в ней первую вложенную и т.д., функцией:
mkdir(string pathname, int mode)
mkdir - cоздает директорию, специфицированную параметром pathname с указанным режимом mode.
Заметьте, что вам, скорее всего, понадобится специфицировать режим mode как 8-ричное число, т.е. оно должно иметь ведущий нуль.
Возвращает TRUE при успехе, FALSE при неудаче.
Пример:
<?
mkdir ("/path/to/my/dir", 0700);
|
| |
|
|
|
|
|
|
|
для: sim5
(26.02.2011 в 13:43)
| | mkdir может создать папку path, но не может создать сразу path/to/my/dir. то есть мне надо сначала создать папку path, затем последовательно вложенные папки to, my, dir. есть вариант разделить path/to/my/dir на отдельные элементы и поместить в массив, затем создавать последовательно по одной папке, но так как глубина вложенности каталогов не одинакова (нужно переместить около 7000 файлов с разными путями), то это не самый легкий вариант. | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 13:59)
| | Ну это уже не ко мне притензии. | |
|
|
|
|
|
|
|
для: sim5
(26.02.2011 в 14:01)
| | к Вам никаких претензий))) Посмотрим мож еще кто отпишется | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 14:03)
| | Ждите, но таковых средств нет, чтобы одним движением создать вложение директорий. | |
|
|
|
|
|
|
|
для: sim5
(26.02.2011 в 14:13)
| | Тогда придется через массивы, а так спасибо за помощь ;) | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 14:29)
| | Вы ведь все равно будете получать файлы обходя свои вложения, если только конечно не решили использовать glob. При обходе что вам мешает, если деректория, то проверить, существует ли ее копия, и если нет создать? Пока доберетесь до файлов своих, уже и готовая копия директорий будет. | |
|
|
|
|
|
|
|
для: max90
(26.02.2011 в 13:59)
| | Да вы не правы...
<?
mkdir('path/to/my/dir',0700,true);
?>
|
вы удивитесь ;)
А еще...
<?
exec('cp -R dir1 dir2');
?>
|
еще надо? :) | |
|
|
|
|
|
|
|
для: Shorr Kan
(26.02.2011 в 16:53)
| | Огроменное спасибо! То что нужно ))) | |
|
|
|