Нужен скрипт(программа) для обработки текстового файла

Discussion in 'PHP' started by Sanic1977, 13 Mar 2014.

  1. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Добрый день!

    Поделитесь скриптом, чтоб соединить 2 текст.файла, вида - 1 файл майл:хеш и 2 файл хеш:пароль. Чтоб получилось в результате майл:хеш:пароль, т.е. для определенного майла, можно было сопоставить пароль, для одинаковых хешей.
    Спасибо.
     
  2. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
    PHP:
    <?php
    set_time_limit
    ( 0 );
    error_reporting( E_ALL );
    ini_set( 'display_errors', 'on' );

    $f1 = file( '1.txt' );
    $f2 = file( '2.txt' );
    $results = array();
    foreach ( 
    $f2 as $v ) {
        list( 
    $hash, $pass ) = explode( ':', $v );
        
    $results[ trim( $hash ) ][ 'pass' ] = trim( $pass );
    }

    $fp = fopen( 'results.txt', 'w+' );
    foreach ( 
    $f1 as $v ) {
        list( 
    $mail, $hash ) = explode( ':', $v );
        if ( 
    array_key_exists( trim( $hash ), $results ) ) {
            
    fwrite( $fp, trim( $mail ) . ':' . trim( $hash ) . ':' . $results[ trim( $hash ) ][ 'pass' ] . "\r\n" );
        }
    }
    fclose( $fp );
    echo 
    'All done';
    ?>
    Входные данные: файлы 1.txt и 2.txt
    На выходе: results.txt
     
    #2 fl47590, 13 Mar 2014
    Last edited: 13 Mar 2014
  3. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Спасибо большое
     
  4. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    как я понимаю, что ищет только одно вхождение, а как если там несколько раз встречается один и тот же хеш для разный майлов.
    Как сделать так чтоб, искал по всей базе до конца, а не до первого совпадения.
    Можно подправить. Спасибо.
     
    #4 Sanic1977, 13 Mar 2014
    Last edited: 13 Mar 2014
  5. fl47590

    fl47590 Member

    Joined:
    15 Nov 2013
    Messages:
    54
    Likes Received:
    8
    Reputations:
    0
  6. Sanic1977

    Sanic1977 Banned

    Joined:
    29 Oct 2008
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Спасибо