Foros del Web » Programando para Internet » PHP »

Manejo de archivos, insertar dato en fila especifica

Estas en el tema de Manejo de archivos, insertar dato en fila especifica en el foro de PHP en Foros del Web. Hola, tengo dos archivos, uno para llenar un formulario donde sólo se ingresa la ciudad del usuario. Y el otro archivo, cargaría a un txt ...
  #1 (permalink)  
Antiguo 12/12/2015, 17:25
 
Fecha de Ingreso: diciembre-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Manejo de archivos, insertar dato en fila especifica

Hola, tengo dos archivos, uno para llenar un formulario donde sólo se ingresa la ciudad del usuario. Y el otro archivo, cargaría a un txt (usuarios.txt) la ciudad que ingresó el usuario, este dato estaría junto a los demás datos del usuario (nombre, apellido, email, clave, ciudad).
Mi duda es cómo puedo cargar ese dato en un txt y que vaya a la fila de ese usuario en especifico.

Probe con la función fopen y fwrite a+ pero sólo logro que me cargue el dato al final de todo y en el último usuario.
Los archivos son los siguientes:

usuario.txt que contiene:
email;clave;nombre;apellido;trabajo;estudio;fecha; ciudad_actual
[email protected]; 001; lucas, duran; freelance en A; estudio en B; 02 de febrero de 1988;
fperez; 002; federico; perez; freelance en X; estudio en J; 07 de mayo;


agregar_info.php

<?php
if ($usuario == $matriz[0]['email'])
{
echo
"
<div id='guardar_info'>
<form action='_secciones/_mi_perfil/guardar_info.php' method='GET'>
Ciudad actual: <input type='text' name='ciudad_actual' placeholder='Ingresa tu ciudad actual' autofocus size='25'>
<input type='submit' value='Guardar'>
</form>
</div>
";
}
?>

guardar_info.php
<?php
$ciudad_actual = $_GET["ciudad_actual"];
$fp = fopen("../../usuarios.txt", "a+");

$texto = $ciudad_actual;
fwrite ($fp, $texto);

fclose($fp);
header('Location: ../../inicio.php');
?>


¡Desde ya gracias!
  #2 (permalink)  
Antiguo 13/12/2015, 06:30
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 11 meses
Puntos: 32
Respuesta: Manejo de archivos, insertar dato en fila especifica

Tienes que hacer así. (En realidad deberías usar una base de datos)

Código PHP:
Ver original
  1. //Recuperas el contenido del fichero
  2. $contenido = file_get_contents("usuarios.txt");
  3. //Generas un array de las filas con el delimitador de salto de línea
  4. $array = explode("\n", $contenido);
  5.    
  6. //Con esto ves el array de filas (prescindible)
  7. var_dump($array);
  8.    
  9. //Aquí haces lo que quieras con el array, en tu caso apañártelas para insertar los datos en medio...
  10.    
  11. //Generas el texto que vas a escribir con un salto de línea por cada entrada del array
  12. $contenido_a_escribir = implode("\n", $array);
  13. //Sobreescribes el fichero original con el nuevo contenido
  14. file_put_contents("usuarios.txt", $contenido_a_escribir);
  #3 (permalink)  
Antiguo 13/12/2015, 09:11
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 3 meses
Puntos: 145
Respuesta: Manejo de archivos, insertar dato en fila especifica

Qué divertido será cuando alguien haga un site:tusitio.com filetype:txt en Google y obtenga todos esos datos.
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: dato, especifica, fecha, fila, formulario, manejo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:06.