PHP New Line не будет работать - PullRequest
3 голосов
/ 13 июня 2010

Привет! Я пытаюсь создать некоторый код, который сначала читает существующее содержимое файла, а затем добавляет новую строку кода в новую строку, но код, который я использую, просто добавляет его в новый текст к ужесуществующая строка вместо новой строки ...

Вот код, который я использую:

<?php

$id = $_GET['id'];

$userfile = "user1.txt";
$fo = fopen($userfile, 'r') or die("can't open favourites file");
$currentdata = fread($fo, filesize($userfile));
fclose($fo);
$fw = fopen($userfile, 'w') or die("can't open favourites file");
$currentprocessed = "$currentdata\n";
fwrite($fw, $currentprocessed);
fwrite($fw, $id);
fclose($fw);
?>

Я испробовал целый ряд различных идей, но ничего не помогло, любая помощь могла быбыть оцененным.

Ответы [ 3 ]

9 голосов
/ 13 июня 2010

Окончания строк для ОС

Unix / Linux
\n

DOS / Windows
\r\n

Неверно
\r и \n\r


Значение константы PHP_EOL зависит от того, на какой платформе работает php.
Это не работает* Обнаружить окончания строк в текущем файле или что-нибудь магическое.

3 голосов
/ 13 июня 2010

Вместо добавления \n объедините константу PHP_EOL, которая всегда является правильным символом новой строки для текущей платформы.

Это также может быть проблемой в программе, которую вы используете для открытиятекстовый файл с.Например, «Блокнот в Windows» неспособен понимать новые строки в стиле Unix.

0 голосов
/ 08 февраля 2017

Я столкнулся с этой же проблемой. Какое приложение вы используете для чтения файла? Я обнаружил, что по какой-то причине Блокнот (по умолчанию для файлов .txt) не распознает escape-символы "\ n \ r". Я открыл свой файл .txt, в который я записывал, с помощью Notepad ++, Atom (мой текстовый редактор по выбору) или в браузере, и все они показали разрывы строк просто отлично.

...