Спустя 2 минуты, 26 секунд (24.02.2011 - 20:49) sergeiss написал(а):
Считывай по одной строке функцией fgets(), анализируй "подходящесть" и выводи, когда найдешь.
Или у тебя есть другие варианты.
Или у тебя есть другие варианты.
Спустя 15 минут, 31 секунда (24.02.2011 - 21:05) Гость_шаман написал(а):
почитал про fgets. там вроде как нет параметра какую строку считывать.только длину строки в байтах.
Спустя 30 минут, 13 секунд (24.02.2011 - 21:35) sergeiss написал(а):
Гость_шаман - да, такого параметра нету. Придется последовательно считывать все строки и выбирать нужные.
Преимущество перед file() в том, что файл не грузится в память весь целиком, т.е. не тратятся ресурсы. Для больших файлов это, скорее, плюс.
И учти, что задаётся максимальная длина строки. Если будет встречен знак конца строки до того, как считается указанное число байт, то тогда чтение остановится. И это правильно
Преимущество перед file() в том, что файл не грузится в память весь целиком, т.е. не тратятся ресурсы. Для больших файлов это, скорее, плюс.
И учти, что задаётся максимальная длина строки. Если будет встречен знак конца строки до того, как считается указанное число байт, то тогда чтение остановится. И это правильно
Спустя 1 час, 16 минут, 3 секунды (24.02.2011 - 22:51) Гость_шаман написал(а):
я наверное непонятно описал вопрос.мне ненужно ничего искать в строках.мне нужно просто вывести N-ю строку (например 257-ю).несовсем понял про fgets. Он считывает строку длинной N байт. А какую строку? У меня их 500 000. Как же ему сказать какую строку считывать если у него нет такого параметра???
Спустя 28 минут, 23 секунды (24.02.2011 - 23:19) Evilsoul написал(а):
Гость_шаман
Тебе же написали
Тебе же написали
Цитата |
Придется последовательно считывать все строки и выбирать нужные. |
циклом это делается
Спустя 33 минуты, 34 секунды (24.02.2011 - 23:53) sergeiss написал(а):
Цитата (Гость_шаман @ 24.02.2011 - 23:51) |
Он считывает строку длинной N байт. |
Только не ровно N байт, а "не более N-1 байт". Эта функция, кстати, полностью идентична функции с таким же именем в языке Си.
Спустя 7 часов, 41 минута, 59 секунд (25.02.2011 - 07:35) Гость_шаман написал(а):
пожалуйста покажите простейший пример.или дайте ссылку.
Спустя 7 часов, 1 минута, 35 секунд (25.02.2011 - 14:37) sergeiss написал(а):
Простейший пример, говоришь... Держи, только тут без анализа проблем открытия или чтения.
Вот пример из хэлпа:
А ты адаптируй под свои нужды.
Вот пример из хэлпа:
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
А ты адаптируй под свои нужды.