скрипт поиска и замены файлов. как сделать?

Тема в разделе "PHP", создана пользователем vasill, 4 апр 2009.

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

    vasill Постоялец

    Регистр.:
    18 мар 2008
    Сообщения:
    103
    Симпатии:
    33
    Суть такая
    в папке "а" лежит много разных файлов(1.txt; 123.txt; abc.txt; 1a2b.txt и т.д.)
    в папке "b" лежат файлы c таким именем, разбросаные по подпапкам(ab/1.txt; abc/123.txt; 1a2b/abc.txt; 321/1a2b.txt и т.д.)
    Необходимо заменить файлы в папке "b" файломи из папки "а"
    То есть рекурсивно берем по очереди файл из папки "а" находим файл с таким именем в подпапках "b" и заменяем
    Возможно есть готовое решение, или кто может набросать скрипт
    Помогите
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    Вот такой скрипт:
    PHP:
    <?php
    $b
    =array();
    function 
    dirread($dir){
      global 
    $b;
      
    $t=opendir($dir);
      while(
    false!==($s=readdir($t))){
        if(
    $s!="." && $s!=".." && is_file($dir."/".$s))
          
    $b[$s]="$dir/".$s;
        elseif(
    $s!="." && $s!="..")
          
    dirread($dir."/".$s);
      }
    }
    dirread("b");

    $a=array();
    $t=opendir("a");
    while(
    false!==($s=readdir($t))){
      if(
    $s!="." && $s!="..")
      
    $a[]=$s;
    }
    foreach(
    $a as $r){
      
    copy("./a/".$r$b[$r]);
    }

    ?>
    при условии, что имена файлов в папках а и b не повторяются.
     
    vasill нравится это.
  3. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Попробуй Total Commander

    Например, перенеси все файлы из подпапок ab/1.txt; abc/123.txt; в другой каталог, затем ими замени исходные в каталоге а.

    Выбрать все файлы из подпапок можно запустив по ним всем поиск с шаблоном * и потом их на панель.
     
  4. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    General Fizz, как я понял, задача стоит именно в замене файлов в подпапках папки "b" файлами из папки "a".
     
  5. vasill

    vasill Постоялец

    Регистр.:
    18 мар 2008
    Сообщения:
    103
    Симпатии:
    33
    MONtrade
    ОК
    Буду пробовать
    Втом то и суть что заменять надо в папке "b" с сохранением адресса
     
Статус темы:
Закрыта.