X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как скопировать каталог?
Bartle96
Bartle96
Topic Starter сообщение 11.12.2011, 13:55; Ответить: Bartle96
Сообщение #1


Подскажите каким образом скопировать в PHP целый каталог
(со всеми вложенными подкаталогами и файлами).
И чтобы можно было дать название папки куда надо скопировать файлы
Заранее спасибо...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 11.12.2011, 20:06; Ответить: Apay
Сообщение #2


написать рекурсивную функцию, которая копирует файлв в каталоге, при встрече подкаталогов рекурсивно вызывает себя.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mamchyts
mamchyts
сообщение 12.12.2011, 0:29; Ответить: mamchyts
Сообщение #3


[PHP]exec("cp /path/from /path/to -R")[/PHP]
вроде так.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 12.12.2011, 2:05; Ответить: Apay
Сообщение #4


увы, всякие exec и прочая асто блокированны по соображениям безопастности
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mamchyts
mamchyts
сообщение 12.12.2011, 8:40; Ответить: mamchyts
Сообщение #5


тогда нужна рекурсивная функция типа
[PHP]function cp($from, $to){
if(!is_dir($to)){
mkdir($to);
chmod($to, '777');
}
$dh = opendir($from)) {
while (($file = readdir($dh)) !== false) {
$file = '/'.$file;
if(is_dir($from.$file))
cp($from.$file, $to.file);
else
copy($from.$file, $to.file);
}
closedir($dh);
}[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 12.12.2011, 12:40; Ответить: Apay
Сообщение #6


(mamchyts @ 12.12.2011, 11:40) *
тогда нужна рекурсивная функция
а я про что :)
(Apay @ 11.12.2011, 23:06) *
написать рекурсивную функцию, которая копирует файлв в каталоге, при встрече подкаталогов рекурсивно вызывает себя.


кстати, у вас ошибочка, надо в цикле проверять каталоги на '.' и '..'

и на будущее: код пожалуйста выделяйте, удобнее читать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Morgan13
Morgan13
сообщение 5.9.2014, 21:30; Ответить: Morgan13
Сообщение #7


[PHP]function cdir($dir, $path) {
if((is_file($path)) or (is_file($dir))) {
print("FATAL! First or second argument in cdir() function cannot be a file!");
sleep(5);
die;
}
if((!file_exists($path)) or (!file_exists($dir))) {
print("FATAL! Directory does not exist!");
sleep(5);
die;
}
foreach(scandir($dir) as $data) {
if(($data != ".") && ($data != "..")) {
if(is_dir($dir . "/" . $data)) {
if(!file_exists($path . "/" . $data)) {
mkdir($path . "/" . $data);
}
cdir($dir . "/" . $data, $path . "/" . $data);
}
else
{
copy($dir . "/" . $data, $path . "/" . $data);
}
}
}
}[/PHP]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
11 Boymaster 1791 17.4.2024, 23:35
автор: Boymaster
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4804 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19702 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3093 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13651 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 19.4.2024, 3:44
Дизайн