Доброе времени суток, начал изучать php и решил перейти к практике, написать маленький чат который будет сохранять сообщения в txt файл и от туда же их брать, но столкнулся с проблемой, при записи в файл строки не переносятся, вот код: Код (PHP): <html> <head> <title>Мини Чат!</title> </head> <form method="post" action="index.php"><br><br> Сообщение: <input name="subm" type="text" size="25" value="" /> <br><br> <input type=submit value="Отправить"></form> </html> <? function write() { $fh = fopen("chat.txt", 'a'); $data = $_POST['subm']; fwrite($fh, $data); fclose($fh); } write(); ?> P.S. Пробовал и \n и "\n" не получается.
[ offtopic ] Не пользуйся коротким тегом <? а только полной формой: <?php , не ставь закрывающий ?> в последней строке — без него можно обойтись. Есть такие официальные рекомендации, просто запомни, а поймешь потом. Чтобы твой код выглядел красиво на форуме, используй ббкод [code=php] … [/code] [ /offtopic ] Вот и покажи как пробовал. Сам fwrite() и не должен добавлять перевод строки!
это должно работать! я бы только чуть по другому сделал, но это НЕпринципиально. перевод строки ты правильно оформил. Код (PHP): function writeln($data) { $fh = fopen('./chat.txt', 'a'); fwrite($fh, $data."\n"); fclose($fh); } if (isset($_POST['subm'])) { writeln($_POST['subm']); }
Спасибо большое за ответы, оказывается надо было просто открыть через Notepad++, в обычном блокноте не переносилось.
C file_put_contents я поспешил (уже отредактировал). Тебе же надо добавлять, а не переписывать… Всё норм. Блокнотом ты файл chat.txt смотрел? Ну видимо он только "\r\n" считает переводом строки, да. Это для виндоуз стандарт.