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


Автор: Leoo 7.10.2005, 15:58
Есть файл например такой:

Строка 1
Строка 2
Строка 3
(вообще у меня в каждой строке файла содержится одно слово)


я его считываю таким скриптом
Код

<?
  $f = fopen("file.txt","rt") or die ("Error");
  
  while (!feof($f))
  {
    $s = fgets($f, 255);
  }


он считывает именно 255 символов, а как считать только строку (слово).

Плиззззззззззззззззззз !!!!!!!!!!!!!!!!!!!!!!
smile

Автор: boombick 7.10.2005, 16:06
Попробуй в конце каждой строки ставить какой-нибудь символ.. Например "|". Считывай весь файл, а потом разбивай его по строкам, используя разделитель...

Автор: Darhazer 7.10.2005, 16:08
Цитата(boombick @ 7.10.2005, 16:06)
Попробуй в конце каждой строки ставить какой-нибудь символ.. Например "|". Считывай весь файл, а потом разбивай его по строкам, используя разделитель...

Да там же есть разделитель - \n smile

Leoo - в общем все правильно делаеш... За изключеним, что если это твой код - то в $s будет только последная строка
Сколько длинное твое слово?

Автор: Leoo 7.10.2005, 16:16
Обычное слово типа (работа и т.д.)

В $s будет последняя строка только после прохода цикла.

Просто в цикле я делаю еще несколько действий . Например:
Код

echo $s


т.о. должны быть выведены все строки

Автор: Darhazer 7.10.2005, 16:26
Цитата(file)

Строка 1
Строка 2
Строка 3


Код
<?
  $f = fopen("file.txt","rt") or die ("Error");
  
  while (!feof($f))
  {
    $s = fgets($f, 255);
    echo $s."<br>";
  }
 ?>


У меня работаеть нормально
Можно у тебя чтото с файлом не так...

Автор: Leoo 7.10.2005, 17:17
А ты попробуй сравни считанную строку(слово) из файла с нормальной строкой (словом)
Код

<?
  $f = fopen("file.txt","rt") or die ("Error");
  
  while (!feof($f))
  {
    $s = fgets($f, 255);
    
    if ($s==="Строка 1")
    {
      echo $s."<br>";
    }
  }
 ?>



Автор: sergejzr 7.10.2005, 17:23
Делай так и да будет тебе множество строк smile

Код

$lines=file("file.txt");
//print_r($lines);
foreach($lines as $line)
{
 print($line."<br />");
}

Автор: Bikutoru 7.10.2005, 17:41
Делай так и будет нужная строка smile
Код

<?php

$lines = file("file.txt");
foreach ($lines as $cur_line)
{
    if ($cur_line == "Строка 1\r\n")
    {
        echo $cur_line . '<br>';
    }
}
?>

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