Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] modificar datos de una linea de un txt con php

Estas en el tema de modificar datos de una linea de un txt con php en el foro de PHP en Foros del Web. Aqui el contenido de mi archivo txt ,archivo.txt: 12|alex|peru 29|juan|argentina 97 |pedro|brasil 45|julio|mexico cómo puedo hacer con php para cambiar solo la primera variable, por ...
  #1 (permalink)  
Antiguo 23/07/2014, 13:51
 
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 3 meses
Puntos: 0
modificar datos de una linea de un txt con php

Aqui el contenido de mi archivo txt ,archivo.txt:

12|alex|peru
29|juan|argentina
97|pedro|brasil
45|julio|mexico

cómo puedo hacer con php para cambiar solo la primera variable, por ejemplo quisiera cambiar el valor 97 que esta en la tercera fila pero sin tocar las demas variables de esa misma fila.

Aqui esta mi codigo, el problemas es que me cambia la linea completa de la tercera fila y yo solo quiero cambiar el numero 97 .

Código PHP:
    $archivo "archivo.txt";
    
$abrir fopen($archivo'r+');
    
$contenido fread($abrirfilesize($archivo));
    
fclose($abrir);
    
$contenido explode("\r\n"$contenido);
    
$contenido[2] = "valor nuevo de la fila 3"//aqui va el numero de fila y el contenido que deseo cambiar
    
$contenido implode("\r\n"$contenido);
    
$abrir fopen($archivo'w');
    
fwrite($abrir$contenido);
    
fclose($abrir); 
muchas, gracias por la ayuda.
  #2 (permalink)  
Antiguo 23/07/2014, 13:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: modificar datos de una linea de un txt con php

Cita:
Aqui esta mi codigo, el problemas es que me cambia la linea completa de la tercera fila y yo solo quiero cambiar el numero 97
Bueno, podrías separar los datos usando explode() con el separador "|", luego cambias el primer valor y escribes de nuevo la linea usando implode(), consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/07/2014, 13:57
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: modificar datos de una linea de un txt con php

y si te cambia la linea completa esta bien, pero reemplazala con el nuevo contenido y listo chabon!
  #4 (permalink)  
Antiguo 23/07/2014, 14:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: modificar datos de una linea de un txt con php

gracias por la pronta respuesta. Si use el explode para separar los | pero no me funciona, mas o menos como me quedaria el codigo.
  #5 (permalink)  
Antiguo 23/07/2014, 14:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: modificar datos de una linea de un txt con php

Cita:
Iniciado por pateketrueke Ver Mensaje
Bueno, podrías separar los datos usando explode() con el separador "|", luego cambias el primer valor y escribes de nuevo la linea usando implode(), consulta el manual.
He separado con explode y luego lo uni con implode, pero no realiza el cambio:

Código PHP:
    $archivo "archivo.txt";
    
$abrir fopen($archivo'r+');
    
$contenido fread($abrirfilesize($archivo));
    
fclose($abrir);
    
$contenido explode("\r\n"$contenido);
    
    
$contenido2 trim($contenido[2]);
    
$contenido2 explode("|"$contenido2);
    
$contenido2 trim($contenido2[0]);
    
$contenido2 "valor nuevo de la fila 3";
    
$contenido2 implode("|"$contenido2);
        
    
$contenido implode("\r\n"$contenido);
    
$abrir fopen($archivo'w');
    
fwrite($abrir$contenido);
    
fclose($abrir); 
En que estoy fallando.
  #6 (permalink)  
Antiguo 23/07/2014, 15:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: modificar datos de una linea de un txt con php

Gracias al consejo de pateketrueke logre solucionarlo, aqui les dejo el codigo si le sirve a alguien:

Código PHP:
    $archivo "archivo.txt";
    
$abrir fopen($archivo'r+');
    
$contenido fread($abrirfilesize($archivo));
    
fclose($abrir);
    
$contenido2 explode("\r\n"$contenido);
    
//separamos la primera variable    de la fila 3    
    
$variable1 explode("|"$contenido2[2]); 
    
$variable1[0] = "valor de la primera variable";
    
$variable1 implode("|"$variable1);    
    
//devolvemos el valor a la linea    
    
$contenido2[2] = "$variable1";  //toda la fila 3 cambiada
    //juntamos lo demas    
    
$nuevo implode("\r\n"$contenido2);    
    
$abrir fopen($archivo'w');
    
fwrite($abrir$nuevo);
    
fclose($abrir); 

Etiquetas: mysql, txt
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 05:53.