Помогите: Запись в файл, ошибка...

  • Автор темы ViTQ
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

ViTQ

#1
Во всех книгах пишут одно и тоже:
Код:
<?php
$handle=fopen("text.txt", "wb");
$text="Просто\nстрока\nтекста.\n";
fwrite($handle, $text);
fclose($handle);
?>
Должно по сути записывать в файл следующие:
Код:
Просто
строка
текста.
Так написано в книге. В итоге записывает так:
Код:
Просто строка текста.
Другой случай из книги:
Код:
<?php
$handle=fopen("text.txt", "ab");
$text="Просто строка текста.";
fwrite($handle, $text"\n");
fclose($handle);
?>
Должен в итоге записывать в файл при каждом запуске скрипта в новую строку, но он пишет все подрят.
Простой пример:
Код:
<?php
echo "Просто\nстрока\nтекста.";
?>
Ситуация повторяется, в итоге во всех случаях \n не работает, почему?
 
M

MajestiC

#2
Всё нормально работает, может быть ваш текстовый редактор, которым вы просматриваете текст, не понимает unix-стиль переноса (\n), а понимает виндовый стиль (\r\n).

Попробуйте
Код:
<?php
$handle=fopen("text.txt", "wb");
$text="Просто\r\nстрока\r\nтекста.\r\n";
fwrite($handle, $text);
fclose($handle);
?>
 
A

aka_Kail

#4
$handle=fopen("text.txt", "ab"); -Запись в бинарном режиме..
Чтобы РНР пересемплировал перенос, снимите флаг b

$handle=fopen("text.txt", "a");
 
A

aka_Kail

#5
Кстати, недокументировано работает флаг t - текстовый режим.
попробуйте:
$handle=fopen("text.txt", "w+t");
 
C

CyberSpirit

#6
В процессе работы с пхп и другими языками придётся привыкнуть к тому, что всё время придётся решать всякие 'непонятки' :(
 
A

aka_Kail

#7
В процессе работы с пхп и другими языками придётся привыкнуть к тому, что всё время придётся решать всякие 'непонятки' :)
Нууу!!! не пугайте молодёжь! :)
В данном случае - траблы не PHP, а способы перевода строки в Винде и *никсах
 
Статус
Закрыто для дальнейших ответов.