PHP - Eliminar línea específica de un fichero de texto

 
Vista:
Imágen de perfil de Álvaro
Val: 65
Ha disminuido su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Eliminar línea específica de un fichero de texto

Publicado por Álvaro (22 intervenciones) el 07/11/2019 11:51:15
Buenos días/ tardes/ noches. Estoy realizando un pequeño proyecto de una página web que consistirá en una tienda de libros online. Ahora mismo estoy llevando a cabo el registro, del cual se quieren guardar los datos de los usuarios registrados en un fichero XML. El trato de dicho fichero lo tengo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (file_exists("../data/UsuariosRegistrados.xml")) {
    $xml = fopen("../data/UsuariosRegistrados.xml", "a");
 
} else {
    $xml = fopen("../data/UsuariosRegistrados.xml", "w");
    fputs($xml, "<?xml version='1.0' encoding='UTF-8'?>");
    fputs($xml, "<Usuarios>");
}
 
fputs($xml, "<Usuario>");
fputs($xml, "<Nombre>" . $name . "</Nombre>");
fputs($xml, "<Contraseña>" . hash('md5', $password) . "</Contraseña>");
fputs($xml, "<Email>" . $emailAddress . "</Email>");
fputs($xml, "<Direccion>" . $address . "</Direccion>");
fputs($xml, "<FechaNacimiento>" . $birthDate . "</FechaNacimiento>");
fputs($xml, "</Usuario>");
 
fputs($xml, "</Usuarios>");
fclose($xml);

El primer usuario se guarda en dicho fichero sin problemas, pero al querer insertar más se me posicionan después del cierre del nodo raíz, resultando en un XML no válido. De momento no puedo usar una base de datos ,siendo la solución más sencilla. Por eso busco alguna manera de eliminar la la última línea del fichero al momento de abrirlo en modo lectura / escritura desde el final, si fuera posible. Agradecería cualquier consejo / ayuda.

Muchas gracias, y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
2
Responder
Imágen de perfil de Álvaro
Val: 65
Ha disminuido su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Eliminar línea específica de un fichero de texto

Publicado por Álvaro (12 intervenciones) el 07/11/2019 17:47:13
¡Muchas gracias Xavi! ¡Me ha funcionado a la perfección!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar