Foros del Web » Programando para Internet » PHP »

PHP: escribir datos en un archivo, borrando los existentes

Estas en el tema de PHP: escribir datos en un archivo, borrando los existentes en el foro de PHP en Foros del Web. Hola a todos: Agradeceré me echéis una mano: tengo un archivo . DAT con datos, e intento grabar nuevos datos sobre él pero borrando los ...
  #1 (permalink)  
Antiguo 11/06/2011, 03:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
PHP: escribir datos en un archivo, borrando los existentes

Hola a todos:

Agradeceré me echéis una mano: tengo un archivo .DAT con datos, e intento grabar nuevos datos sobre él pero borrando los caracteres existentes. Lo intento con la instrucción fwrite sobre el archivo abierto con fopen($manejador,'a+'). Pero, con la instrucción fwrite($manejador,$texto_a_grabar), me inserta la cadena $texto_a_grabar desplazando hacia el final todos los caracteres que hay a la derecha del puntero. Esto es: me inserta la cadena $texto_a_grabar y me "alarga" el archivo en la cantidad de caracteres de dicha cadena.

Las preguntas son:
1. ¿Cómo puedo resolver este problema, esto es, sobreescribir el archivo?

2. ¿Hay algunas instrucciones para realizar un sort (clasificación de los registros del archivo) en función de algunos parámetros numéricos existentes dentro de cada registro (quiero ordenar ascendentemente los registros existentes en el archivo por fechas grabadas en formato DD-MM-AA)?

Gracias anticipadas. Saludos.
  #2 (permalink)  
Antiguo 11/06/2011, 10:18
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: PHP: escribir datos en un archivo, borrando los existentes

si quieres borrar el contenido del archivo sería lo mismo que sobreescribirlo, o sea es redundante querer borrar solo el contenido, de todos modos sria un archivo nuevo. a menos que quieras remplazar caracter por caracter, pero eso sería muy dificl de controlar.

http://www.php.net/manual/es/ref.filesystem.php

te dejo ese enlace checalo.
  #3 (permalink)  
Antiguo 11/06/2011, 13:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: PHP: escribir datos en un archivo, borrando los existentes

Cita:
Iniciado por memoadian Ver Mensaje
si quieres borrar el contenido del archivo sería lo mismo que sobreescribirlo, o sea es redundante querer borrar solo el contenido, de todos modos sria un archivo nuevo. a menos que quieras remplazar caracter por caracter, pero eso sería muy dificl de controlar.

[url]http://www.php.net/manual/es/ref.filesystem.php[/url]

te dejo ese enlace checalo.
Gracias memoadian.
No deseo borrar todo el archivo, sino algunos caracteres consecutivos dentro del archivo, para reemplazarlos por otros (igual cantidad de caracteres a grabar que a borrar, y en las mismas posiciones).

No he encontrado una instrucción en las funciones del sistema de archivos que linkas. Pero quizás me pueda apañar con la instrucción file_get_contents: con ella pasaría todo el archivo a un string, luego creo un array cuyos elementos serían cada uno de los registros del archivo, y clasifico en orden (ascendente o descendente) dicho array. Luego vuelvo a recomponer el archivo a partir del array ordenado. Para esto existe la función sort.

En fin, que habiendo tantas funciones en PHP bien podría existir una función que ordene los registros de un archivo (orden alfabético, numérico, etc.). Yo, al menos, no he encontrado esa función...

Etiquetas: existentes
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 14:27.