Нужна помошь с php ситом

Тема в разделе "PHP", создана пользователем ArtyGrand, 27 июн 2009.

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

    ArtyGrand Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    80
    Симпатии:
    37
    Народ, я что то совсем туплю.
    Проблема: Есть куча *.txt файлов в разных подпапках вложенностью 1.
    В текстовиках такая структура:

    Account type: [IE6]
    Protocol: crash Username: 34369 Lastname: ...ходной файл получался. Хотя и не обязательно.
     
  2. Kiborgik

    Kiborgik Создатель

    Регистр.:
    7 фев 2009
    Сообщения:
    46
    Симпатии:
    10
    насчет последнего могу сказать со 100% уверенностью что склеивание строк (.) стоит там где не надо или нету условия подходящего
     
  3. black.cat

    black.cat

    Регистр.:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    32
    видимо у молодежи опять пробдема с обходом папки...
    все примерно так:
    PHP:
    <?php
    // скрипт должен лежать в папке в которой куча целевых подпапок
    $jobs glob("./*"GLOB_ONLYDIR);
    foreach(
    $jobs as $j) {
      echo 
    "dir:".$j."\n";
      
    $txt glob($j."/*.txt");
      foreach(
    $txt as $t) {
        echo 
    $t."\n";.
        
    $content file($t);
        
    // дальще делай с массивом content все шо хочеш...
      
    }
    }
    ?>
    p.s. PHP5 only
     
  4. ArtyGrand

    ArtyGrand Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    80
    Симпатии:
    37
    выдает
    я код поправил, но скрипт всего лишь выдает пути до файлов. Как сделать именно сито блоков в текстовиках
     
  5. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    <?php

    define
    ('DIR''./test/');
    define('SAVE_FILE''./log.txt');


    $save_file fopen(SAVE_FILE'w');
    $dir opendir(DIR);
    while(
    false !==($file readdir($dir))) {
        if (
    is_file(DIR.$file) && '.txt' == substr($file, -4)) {
            
    $content file_get_contents(DIR.$file);
            
    $array explode('Account type'$content);
            foreach (
    $array as $text) {
                
    preg_match('%Username: (.+)%i'$text$match);
                
    $username trim($match[1]);
                
    preg_match('%Lastname: (.+)%i'$text$match);
                
    $lastname trim($match[1]);
                
    fwrite($save_file'Username: '.$username.' '.$lastname."\r\n");
            }
        }
    }
    closedir($dir);
    fclose($save_file);
    ?>
     
    ArtyGrand нравится это.
  6. ArtyGrand

    ArtyGrand Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    80
    Симпатии:
    37
    Слега не то, что я ожидал, но переделать нормально уже смогу.
    Спасибо.
     
Статус темы:
Закрыта.