|
|
|
|
set_time_limit(0);
exec ("cp -rf ./dir/* ./dir2");
|
Такой скрипт работает при копировании папки размером с 5000 файлов (файлы копируются куда надо), а с 25000 файлов работать отказывается (файлы не копируются) (структура каталогов и файлов - одинаковая). В чем может быть трабл?
Папки dir и dir2 создаются скриптом, соответственно, права на эту папку у скрипта - 7.
P.S. Спецом данному скрипту задаю одинаковые по структуре папки с одинаковыми правами, но разным количеством файлов...
P.P.S. Вариант с rename('./dir', './dir2') не подходит по нескольким причинам. Нужно копировать именно содержимое указанной папки в другую указанную папку. Т.е., надо, чтобы dir/1.txt скопировался в dir2/1.txt (а с ним еще куча файлов и подкаталогов). | |
|
|
|
|
|
|
|
для: Reша
(22.03.2007 в 13:25)
| | Перепишите скрипт следующим образом
set_time_limit(0);
echo exec ("cp -rf ./dir/* ./dir2");
|
Ничего в окно браузера не выводится? | |
|
|
|
|
|
|
|
для: cheops
(22.03.2007 в 13:30)
| | Выдача браузера пустая.
Счас зашел в shell и увидел - "argument list too long". теперь понятно - '*' собирает слишком много файлов и выдает их всех команде cp. Нужно более умное решение. | |
|
|
|
|
|
|
|
для: Reша
(22.03.2007 в 13:48)
| | Меня еще может спасти, если мне кто-нибудь подскажет, как содержимое папки 'dir/' (без самой папки) - например, файл index.html, 1.html, 2.html, забить в .tar.gz (пока что получилось только вместе с корневой папкой).
Чтобы потом при разархивировании dir.tar.gz папки в корень сайта сразу создавались index.html и прочие. | |
|
|
|
|
|
|
|
для: Reша
(22.03.2007 в 13:48)
| | Параметр r - означает рекурсивное копирование, т.е. по идеи * можно не указывать. | |
|
|
|