
10/01/2002, 21:33
|
O_O | | Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años, 2 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. |