Foros del Web » Programando para Internet » PHP »

escribir en linea determinada de un txt

Estas en el tema de escribir en linea determinada de un txt en el foro de PHP en Foros del Web. Señores(as): tengo un archivo llamado "file.txt" con los valores: 1 32 5 y para acceder al valor de la fila tres lo hago asi: Cita: ...
  #1 (permalink)  
Antiguo 13/01/2011, 09:40
 
Fecha de Ingreso: febrero-2009
Ubicación: Medellín
Mensajes: 81
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta escribir en linea determinada de un txt

Señores(as):

tengo un archivo llamado "file.txt" con los valores:

1
32
5

y para acceder al valor de la fila tres lo hago asi:

Cita:
$archivo = file("file.txt");
$cont = $archivo[2];
echo $cont;
//muestra 5 tal y como esta en el archivo.
Funciona perfectamente. Ahora, el inconveniente que tengo es que deseo incrementar en uno el valor de la fila tres y luego escribirlo en esa misma fila del mismo archivo "file.txt". y no me funciona el siguiente código:

Cita:
$cont++;
$fp = fopen("file.txt","w");
fwrite($fp[2], $cont);
fclose($fp);


Agradeceria cualquier colaboración.
  #2 (permalink)  
Antiguo 13/01/2011, 09:46
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: escribir en linea determinada de un txt

Un ejemplo sencillo de lo que quieres hacer

Código PHP:
$numeroLinea                3;
$numeroLineaReal            $numeroLinea-1;
$lineas                     file("archivo.txt");
$lineas[$numeroLineaReal]   = $lineas[$numeroLineaReal]+1;

$fp fopen("archivo.txt""w");
for(
$contador=0$contador<=$numeroLinea$contador++)
{
  
fwrite($fp$lineas[$contador]);
}

fclose($fp); 
  #3 (permalink)  
Antiguo 13/01/2011, 09:47
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: escribir en linea determinada de un txt

Reescribe el archivo entero. Lo cargas entero, lo modificas "on the fly" y lo guardas.
__________________
eZakto™
  #4 (permalink)  
Antiguo 13/01/2011, 14:17
 
Fecha de Ingreso: febrero-2009
Ubicación: Medellín
Mensajes: 81
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: escribir en linea determinada de un txt

Cita:
Iniciado por odiseus Ver Mensaje
Un ejemplo sencillo de lo que quieres hacer

Código PHP:
$numeroLinea                3;
$numeroLineaReal            $numeroLinea-1;
$lineas                     file("archivo.txt");
$lineas[$numeroLineaReal]   = $lineas[$numeroLineaReal]+1;
 
$fp fopen("archivo.txt""w");
for(
$contador=0$contador<=$numeroLinea$contador++)
{
  
fwrite($fp$lineas[$contador]);
}
 
fclose($fp); 


EXCELENTE MUCHAS GRACIAS.
Le hice una pequeña modificación a este script debido a que el archivo tenia diez lineas y solo queria modificar la linea dos y lo que hacia era concatenar el resto defilas. Para ello valide que estuviera en la linea dos y luego guardar una linea en blanco y listo.



Código PHP:
[QUOTE
$lineas file("archivo.txt"); 
$lineas[2] = $lineas[2]+1
$fp fopen("archivo.txt""w"); 
for(
$contador=0$contador<10$contador++) 

  if(
$contador==2){
     
$lineas[$contador]=$lineas[$contador]."\r\n";
     
fwrite($fp$lineas[$contador]); 
  }
  else
     
fwrite($fp$lineas[$contador]); 

fclose($fp); 
[/
QUOTE
  #5 (permalink)  
Antiguo 14/01/2011, 01:12
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: escribir en linea determinada de un txt

A servir, me alegra que te haya servido.

Etiquetas: file, row, 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 13:13.