Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/01/2002, 21:33
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: actualizar una sola linea de un fichero txt

Un fichero TXT .. o simplemte un fichero que no sea una base de datos (lease, Mysql etc..) se acede a el de forma secuencial .. es decir, como mucho podemos añadir al final del archivo mas datos pero no asi una linea o registro de este "txt".

El metodo que se usa (si hay mas no los conozco...) es:

1.- lees el fichereo txt y lo almacenas en un Array (todo), indicando \n como separador de registros del Array (\n es el fin de linea)
2.- Utilizas las funciones de Array para modificar una posicion de la misma.
3.- Grabas todo el Array (en este momento ya estara modificado la linea que indicastes).

Y el codigo .. seria algo asi:

<?php

# El nombre de tu .txt
$txt = "el_txt.txt"

# Leemos el ".txt"
$fichero = fopen($txt, "r");
$array_txt = fread($fichero, filesize($txt));
fclose($fichero);
$lineas = explode("\n", $array_txt);
$total_lineas = count ($lineas);

# Aqui iria una rutina en la que compararias el identificador,
# linea completa, u otro argumento con el leido en el Array.

#modificamos la linea "x" que deseas modificar (numero de 0 a $total_lineas).
$lineas[x] = "La modificacion"

# Grabamos el Array modificado.
$i = 0;
$fichero = fopen($txt, "w");
while ($i <= $total_lineas){
fwrite ($fichero, $lineas[$i]."\n");
$i++;
}
fclose($fichero);
?>

Un saludo, espero que te sirva.