нужен скриптик для копирования 1 файла сразу в массу дирректорий и сабдир...

Тема в разделе "PHP", создана пользователем 212, 1 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. 212

    212 Создатель

    Регистр.:
    31 авг 2007
    Сообщения:
    39
    Симпатии:
    0
    нужен скриптик для копирования 1 файла сразу в массу дирректорий и сабдир...
    можно софт... нигде найти не могу (
     
  2. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Непонятно где эти директории.
    Вообще то подобный скрипт пишется за минуту
    Вот накропал
    Код:
    //путь к моему файлу
    $myfilePath="c:/myfile.txt";
    
    //список целевых папок
    $dirPathList=array(
    	'c:/dir1',
    	'c:/dir2'
    );
    
    $filename=basename($myfilePath);
    
    foreach ($dirPathList as $dir) {
    	$newPath=rtrim($dir, "\\/").DIRECTORY_SEPARATOR.$filename;
    	copy($myfilePath, $newPath);
    }
    
    
    И вообще надо конкретнее задавать вопросы. Ведь такое можно решить и батником и за минуту на любом языке сделать даже с GUI
     
  3. 212

    212 Создатель

    Регистр.:
    31 авг 2007
    Сообщения:
    39
    Симпатии:
    0
    спасиб канечно.... НО директорий около 1000 и прописывать их всех ... ((((
    причём они идут...
    dir1
    ......dir2
    ...........dir3
    и т.д.
     
  4. adm22

    adm22 Создатель

    Регистр.:
    11 фев 2008
    Сообщения:
    31
    Симпатии:
    9
    Проверил на локалке - работает.
    PHP:
    <?php
    $file_copy
    ="C:\WebServers\home\localhost\www\myscr\GetC\myfile.txt";//тут надо прописать путь к файлу который необходимо скопировать


    $dir "C:\WebServers\home\localhost\www\myscr\GetC";//тут надо прописать путь к директории в которую надо скопировать файл. Копирование будет также произведено во все вложенные папки. Например если существуют папки C:\dir\dir2 и C:\dir\dir2\dir3 - то файл автоматически скопируется во все эти директории. 

    function scan_directory($dir,$file){
    $a=scandir($dir);

    $i=2;
    while(
    $i<count($a)){
    $newdir=$dir."/".$a[$i];
    if(
    is_dir($newdir)){
    scan_directory($newdir,$file);
    echo  
    $newdir." it is a directory<br>";

    if (!
    copy($file$newdir."/file242.txt")) {///file242.txt - это название файла после копирования. Под таким именем он будет скопирован в директории C:\dir\dir2 и C:\dir\dir2\dir3.
        
    echo "failed to copy $file...\n";
    }



    }

    $i++;
    }
    }

    scan_directory($dir,$file_copy);

    ?>
     
  5. WorkNets

    WorkNets

    Регистр.:
    25 апр 2008
    Сообщения:
    161
    Симпатии:
    37
    Тоже сталкивался с подоюной проблемкой.
    Нужно было скопировать 1 файл в кучу директорий.
    Нашел решение с помощью FAR Manager, правда насчет поддиректорий не сработает...
    Работает под виндозой и к РНР отношения не имеет, - но возможно будет полезно...
    Если кому нужно описываю ход процесса :)


    - Открываем в far'е папку в которой находятся все папки в которые необходимо скопировать файл...
    - Копируем туда файл который нужно раскидать по всем папкам - в итоге у нас в папке находится куча папок куда нужно скопировать файл и собственно сам файл.
    - Далее - выделяем все папки в которые будем копировать наш файл. (ставим курсор на любую папку и тычем CTRL + "+" ( в общем тыкаем контрл и плюс) таким образом выделятся все папки)
    - Тыкаем CTRL + g (в других менеджерах "выполнить команду") и пишем " copy file.txt !.! " где file.txt имя файла который копируем с расширением....
    - Тычем пальцем в ЕНТЕР и ждем завершения процесса
    - собсна усе - файл должен быть раскидан по папкам - если не получилось где то сделали ошибку...
     
  6. 212

    212 Создатель

    Регистр.:
    31 авг 2007
    Сообщения:
    39
    Симпатии:
    0
    всем сенкс
     
Статус темы:
Закрыта.