Подскажите как сделать

Тема в разделе "PHP", создана пользователем Uglik, 8 авг 2011.

Модераторы: latteo
  1. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Здравствуйте

    Подскажите как такое реализуется....

    Есть папка folder в ней много папок fname0,fname1,fname2,fname3 и тд... и др в папке txt файлы.

    Нужно из определенных папок получить txt докумен и собрать в один.
    (txt документ везде называеться одинаково.(пример: aaa.txt))

    Сканируем основную папку... получаем массив из имен.
    Вопрос: как из этого списка отобрать папки содержащие fname?

    Получаем сам файл и собираем в один.
     
  2. Anigilator

    Anigilator Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    76
    Симпатии:
    11
    Туплю чёт, а fname где содержится то? В названии папки?
     
  3. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    строковые функции же!
    например strpos(со строгим сравнением же), или substr
     
  4. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    да в названии папки

    ---------- Post added at 12:01 ---------- Previous post was at 10:47 ----------

    вот что у меня получилось
    PHP:
    $file_logs scandir($path_to_logs);

    for (
    $i=0$i count($file_logs); $i++) {
    $str_folder strpos($file_logs[$i],$projecnname);
    echo 
    $str_folder."<br>";
    }
    В результате вывело

    HTML:
    
    <br><br><br><br><br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>
    
    подскажите как дальше получить имена папак fname
     
  5. BACZ

    BACZ

    Регистр.:
    18 июн 2008
    Сообщения:
    608
    Симпатии:
    381
    Либо лыжи не едут либо я чего то не понимаю.
    PHP:
    error_reporting(E_WARNING); 
    ini_set("display_errors"1); 
    $globfiles "*";
    $arNames=array('admin','include','images') ; //твои папки fname1
    $docname="index.php"//твой aaa.txt
    $result_log"/home/www/test/result_aaa.txt"//сливаем в один, проверяй на запись если надо
    $contents "";
    if(isset(
    $_REQUEST["dirname"])) $dirct=$_REQUEST["dirname"]; else $dirct=getcwd(); // твоя дира в которой fname1 есть а файл aaa.txt не ищем
    $fullpath=realpath($dirct);
    $arraylist = array();
    $arraylistglob($fullpath."/".$globfiles);
    if (!
    is_array($arraylist)) echo "<BR>Directory ".$fullpath." is empty, invalid or not enough rights<BR>"; else {
        if (!empty(
    $arraylist)) sort ($arraylist,SORT_STRING );
        foreach (
    $arraylist as $value) {
        if (
    is_dir($value)) {  $sDirnamebasename($value);
                           if (
    in_array$sDirname$arNames ) &&  file_exists ($value."/".$docname))  { $contents .= file_get_contents ($value."/".$docname); }
                           }
                                        }
    if (!empty(
    $contents)) {  $filename=$result_log$fp2=fopen($filename ,"w"); fwrite($fp2$contents); fclose($fp2); echo "Job done"; } else echo "Nothing found!";
                                                                        }
     
    Uglik нравится это.