Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: exec ("cp -rf ./dir/* ./");
 
 автор: Reша   (22.03.2007 в 13:25)   письмо автору
 
 

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 (а с ним еще куча файлов и подкаталогов).

   
 
 автор: cheops   (22.03.2007 в 13:30)   письмо автору
 
   для: Reша   (22.03.2007 в 13:25)
 

Перепишите скрипт следующим образом
set_time_limit(0); 
echo exec ("cp -rf ./dir/* ./dir2");

Ничего в окно браузера не выводится?

   
 
 автор: Reша   (22.03.2007 в 13:48)   письмо автору
 
   для: cheops   (22.03.2007 в 13:30)
 

Выдача браузера пустая.

Счас зашел в shell и увидел - "argument list too long". теперь понятно - '*' собирает слишком много файлов и выдает их всех команде cp. Нужно более умное решение.

   
 
 автор: Reша   (22.03.2007 в 13:57)   письмо автору
 
   для: Reша   (22.03.2007 в 13:48)
 

Меня еще может спасти, если мне кто-нибудь подскажет, как содержимое папки 'dir/' (без самой папки) - например, файл index.html, 1.html, 2.html, забить в .tar.gz (пока что получилось только вместе с корневой папкой).

Чтобы потом при разархивировании dir.tar.gz папки в корень сайта сразу создавались index.html и прочие.

   
 
 автор: cheops   (23.03.2007 в 01:16)   письмо автору
 
   для: Reша   (22.03.2007 в 13:48)
 

Параметр r - означает рекурсивное копирование, т.е. по идеи * можно не указывать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования