Копирование файлов в PHP

Статус
В этой теме нельзя размещать новые ответы.

ramses21

Постоялец
Регистрация
20 Июл 2008
Сообщения
107
Реакции
16
Здравствуйте!
Вот понадобилось прибегнуть к помощи php , но в языках программирования я не силен. Знакомый немного помог, но не так немного как я хотел. А хотел(и хочу) я вот что сделать:

есть папка shab, в ней лежат 15 файлов, задача скопировать эти файлы в папки
shab1
shab2
shab3
...
shab1013

вот этим можно скопировать только в папку shab1
PHP:
 <?
      if ($handle = opendir('shab1')) { 
            while (false !== ($namedir = readdir($handle))) { 
              if (is_dir($namedir)){
                  
                  if ($handletwo = opendir('shab')) { 
                        while (false !== ($file = readdir($handletwo))) { 
                          if ($file != "." && $file != "..") { 
                              Copy('shab/'.$file, 'shab1/'.$namedir1.'/'.$file); 
                          } 
                      }
                      closedir($handletwo); 
                  }                  
              }   
          }
          closedir($handle); 
		  echo ('Выполнено');
      }
	  ?>

как же мне скопировать во все папки сразу?
 
создать массив с путями и воткнуть вызов Copy(...) в цикл.

Это тебе отправная точка, писать скрипт за тебя я не буду.
 
Неужели нет вариантов. чтоб скрипт проходил каждую папку и втыкал туда необходимые файлы, не используя названия папок?
дело в том, что названия папок далеко не shab1 и shab2 ...
 
есть - рекурсивный обход директорий.
 
при обходе каталога, удобнее использовать рекурсию..
вот пример простой функции:
PHP:
function recursiv($counter)
{
if($counter>0)
{
print($counter--)."<br>";
recursiv($counter);
}
else return;
}

// И потом вызываешь функцию, например:

recursiv(1013);
 
Попробуй реализовать через exec
<?php
exec('cp -R /site/folder1/* /site/folder2');
?>
 
PHP:
// задаем вручную список папок
$dirList = array(
  'papka1',
  '2',
  '7'
  );
// или использовать glob('*')

foreach($dirList as $dir)

  // тут твой код
   if ($handle = opendir([B]$dir[/B])) { 
  // и т.д. 
   ...
   }


}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху