Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод данных из txt файлов


Автор: steelhomework 25.3.2007, 14:44
У меня есть папка в который хранятся данные в txt файлах, их будет много. Вывод данных разделяю функцией explode(). Но почему-то не получается, либо выводит один файл или ничего :(

Код

$array_kb = file ('db/*.txt');
//$pos_kb = rand(0, sizeof($array_kb)-1);
$kb_1 = sizeof($array_kb);
$data_kb = explode ("|", $array_kb[kb_1]);


В чем проблема?

Автор: Wolf1994 25.3.2007, 14:47
sizeof берёт значение на единицу больше, чем номер последней записи. Попробуйте отнять от kb_1 единицу.

Автор: SelenIT 25.3.2007, 15:16
Во-первых, "бакс" в скобках пропущен. А в PHP, как в реальном мире, без бакса ничего не делается... ;)

Автор: steelhomework 25.3.2007, 19:36
Код

$array_kb = file ('db.txt');
$pos_kb = sizeof($array_kb)-1;
$data_kb = explode ("|", $array_kb[$pos_kb]);


В db.txt:
name|password|web|email
name2|password2|web2|email2

Как сделать вывод всех записей? А то выводит только одну.

Автор: Wolf1994 25.3.2007, 20:25
Код

foreach ( file ('db.txt') as $k=>$v )
 print_r ( explode ("|", $v) );


Слишком упростил. Не уверен, что file сработает внутри цикла.

Автор: steelhomework 26.3.2007, 19:43
Код

foreach ( file('db.txt') as $k => $v) {
    $data_kb = explode("|", $v);
}


Как теперь можно отсортировать эти данные?

Автор: steelhomework 27.3.2007, 19:27
Поможет кто?smile

Автор: SelenIT 27.3.2007, 20:02
steelhomework, а как сортировать и по какому критерию?

И еще вместо $data_kb явно нужен $data_kb[] - двумерный массив. А его можно сортировать с помощью ф-ции http://php.net/usort (и ее "родни") и собственной ф-ции сортировки.

Автор: steelhomework 4.4.2007, 13:04
Сортировать хотелось бы по возрастанию, вот как сделать это не знаю. Пробывал с usort(), не вышло :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)