Pregunta

Hola Estoy tratando de crear un código que primero lee el contenido del archivo existentes en y luego añade la nueva línea de código en una nueva línea, pero el código que estoy utilizando sólo añade que en el nuevo texto en el que ya línea existente en lugar de la nueva línea ...

Este es el código que estoy utilizando:

<?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);
?>

He tratado toda una serie de ideas diferentes, pero nada ha funcionado, cualquier ayuda se agradece.

¿Fue útil?

Solución

En lugar de añadir \n, concatenar el PHP_EOL constante que es siempre el carácter de nueva línea correcta para la plataforma actual.

También podría ser un problema con el programa que utiliza para abrir el archivo de texto con. Por ejemplo, el Bloc de notas en Windows es incapaz de comprender las nuevas líneas de estilo UNIX.

Otros consejos

Los finales de línea al sistema operativo

Unix / Linux
\n

DOS / Windows
\r\n

no válida
\r y \n\r


El valor de la constante PHP_EOL depende de la plataforma PHP se está ejecutando.
Es no detecta los finales de línea en el archivo o nada corriente mágica.

me encontré con este mismo tema. ¿Qué aplicación se está utilizando para leer el archivo? He encontrado que por alguna razón el Bloc de notas (mi defecto para archivos .txt) no reconoció los "\ n \ r" caracteres de escape. Abrí el archivo .txt que estaba escribiendo a la utilización de Notepad ++, Atom (mi editor de texto de su elección), o en un navegador y todos ellos mostraron los saltos de línea muy bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top