Считывание строки из файла

dimagradov

Новичок
Считывание строки из файла

Здравствуйте.
Вопрос достаточно ламерский, поэтому после ответа можно тему просто стереть. Но я уже давно не знаю на нее ответа.
Как считать строку из файла, чтобы не считывался знак переноса строки?
Я всегда считывал через fgets, а потом вырезал через str_replace или rtrim. Может есть способ достаточно проще?
PHP:
$fp=fopen('file.txt','r');
while(!feof($fp))
{
$str=fgets($fp);
$str=str_replace("\n",'',$str);
$str=rtrim($str);
}
fclose($fp);
Спасибо
 

DiMA

php.spb.ru
Команда форума
если длина строки зарнее неизвестена - никак
 

dimagradov

Новичок
Спасибо!
Не известна( всегда разная( поэтому все время считывается с переносом. если только не конец файла, где нет переноса
 

С.

Продвинутый новичок
В принципе такого эффекта можно достичь, используя функцию fgetcsv(), но это не совсем как бы "проще".

А вообще говоря, оставлять символы перевода каретки в строке это низкоуровневый моветон. Слабо себе представляю типовую программу на РНР, использующую fgets(), и где могут пригодиться символы перевода. Можно было бы хоть параметр что-ли задавать.
 

Фанат

oncle terrible
Команда форума
А мне кажется - наоборот.
Возвращается то что есть. Кому надо - то сам обработает, и не надо самодеятельности.
 

dimagradov

Новичок
Всем спасибо) значит действовал правильно.
Забыл добавить, что если это виндовский файл, то еще \r убирать нужно
 
Сверху