Простой скрипт по чтению файла

Тема в разделе "Как сделать...", создана пользователем Greyz, 21 июл 2013.

  1. Greyz

    Greyz

    Регистр.:
    2 авг 2007
    Сообщения:
    305
    Симпатии:
    14
    В php полный ноль... Нужно совсем простую обработку.
    Суть вопроса:
    имеется файл.txt, который выглядит:

    "
    № |Статус
    12 |в работе
    15 |в работе
    14 |готов
    ....
    "

    Нужно схавать этот файл и выдать в виде массива, в котором индекс - "номер", значение - "статус".
    Потом нужно чтобы по запросу из формы выдавалось значение - "статус" по конкретному номеру.
    Заранее спасибо!
     
  2. Compressor

    Compressor

    Регистр.:
    31 янв 2009
    Сообщения:
    314
    Симпатии:
    200
    HTML:
    <!doctype html>
    <html lang="ru">
    <head>
        <meta charset="UTF-8">
        <title>Orders</title>
    </head>
    <body>   
        <form>
            <input type="text" name="n">
            <button type="submit">GO</button>
        </form>
        <?
        if ($_GET['n'] != "") {
            $file = file('status.txt');
            foreach ($file as $string) {
                preg_match_all("/(\d+) \|(.*)/", $string, $matches, PREG_SET_ORDER);
                $orders[$matches[0][1]] = $matches[0][2];
            }
            $n = trim($_GET['n']);
            if ($orders[$n]) {
                echo "<p>" . $n . " - " . $orders[$n] . "</p>";
            } else {
                echo "<p>Нет такого номера</p>";
            }
        }
        ?>
    </body>
    </html>
     
    Greyz нравится это.
  3. etosh

    etosh Создатель

    Регистр.:
    22 июл 2013
    Сообщения:
    32
    Симпатии:
    4
    Ну типа того, да. В примере выше вместо регулярки можно использовать explode(), так и проще, и короче:
    Код:
    $matches = explode("|", $string)
     
  4. alex159

    alex159 Писатель

    Регистр.:
    2 дек 2012
    Сообщения:
    3
    Симпатии:
    0
    Спасибо большое. Тоже интересовался этим вопросом.