|
Страница 1 из 1 [ Сообщений: 6 ] |
Автор |
Сообщение |
Period
новый человек
|
|
Люди, спасайте. Перерыл весь инет, никак найти не могу. В книге у меня какой-то бред каписан. Нужно прочитать из текстового файла определённую строку (не первую). Как это сделать? Знаю как читать все строки и вы водить их, но вот, нужно, например, вывести пятую строку, как это сделать? Заранее, спасибо!
|
|
|
|
|
Period
новый человек
|
|
Цитата из книги: "Для чтения строки из файла существует функция fgets(), ей нужно передать указатель на открытый файл. Кроме того, у этой функции есть второй аргумент,указывающий максимальное число символов, которое можно прочесть из файла. Эта функция будет читать данные из файла до тех пор, пока не встретитсимвол конца строки или конца файла." На фига мне конец строки и конец файла? Нужно прочесть одну определённую строку и вставить в документ... Как это сделать... Описание функции File я не нашёл.
|
|
|
|
|
Crazy
Модератор
|
|
Ты не можешь прочесть "одну определенную строку" из середины файла. Просто потому, что все строки в общем случае разной длины и положение строки невозможно угадать по номеру.
Соответственно, чтобы прочесть N-ю строку, ты должен прочесть и N-1 прешествующих строк.
Что же до особенностей функции fgets, то: 1. Указание предельной длины строки стра***т тебя от "особых ситуаций"с неправильным определением меркеров конца файла. Если тебя напрягает этот параметр, то просто передавай в качестве его значения размер файла. 2. Фраза про "конец" строки весьма осмысленна: последняя строка текста вовсе не обязана заканчиваться разделителем строк.
Что же до функции file... А где, прости, ты ее искал? В документации в списке функций она есть (в пользоваться ею нужно осторожно):
array file (string filename [, int use_include_path])
Identical to readfile(), except that file() returns the file in an array. Each element of the array corresponds to a line in the file, with the newline still attached.
You can use the optional second parameter and set it to "1", if you want to search for the file in the include_path, too. <BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre> <?php // get a web page into an array and print it out $fcontents = file ('http://www.php.net'); while (list ($line_num, $line) = each ($fcontents)) { echo "<b>Line $line_num:</b> " . htmlspecialchars ($line) . "<br>\n"; }
// get a web page into a string $fcontents = join ('', file ('http://www.php.net')); ?> </pre><HR></BLOCKQUOTE>
|
|
|
|
|
RedHomo
участник
|
|
Period о, а я знаю эту книгу [img]images/smiles/icon_smile.gif[/img]
|
|
|
|
|
|
Страница 1 из 1 [ Сообщений: 6 ] |
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
|
|