Foros del Web » Programando para Internet » PHP »

Excribir en un archivo txt

Estas en el tema de Excribir en un archivo txt en el foro de PHP en Foros del Web. Hola a todos, perdonad lo básico de mi pregunta pero estoy dando mis primeros pasos en esto del php. Necesito escribir en un archivo txt ...
  #1 (permalink)  
Antiguo 30/04/2009, 11:25
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Excribir en un archivo txt

Hola a todos, perdonad lo básico de mi pregunta pero estoy dando mis primeros pasos en esto del php.

Necesito escribir en un archivo txt y ya sé como se hace, sin embargo, necesito que lo haga al principio del archivo, sin borrar el resto del contenido. ¿existe alguna forma? he probado esto, pero lo escribe al final.

Código Lenguaje:
Ver original
  1. $mensaje = "hola amigos";
  2.  
  3. $fp = fopen("archivo.txt","a+");
  4. fwrite($fp, "$mensaje");
  5. fclose($fp);
  #2 (permalink)  
Antiguo 30/04/2009, 11:37
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Respuesta: Excribir en un archivo txt

Hola,

Tienes que posicionar el puntero de tu archivo al principio del mismo. No recuerdo si la existe o existió una función llamada fseek(), pero te recomiendo leas esto:

“r”: Abre el archivo para solo lectura y posiciona el puntero al principio del archivo.
“r+”: Abre el archivo para lectura y escritura y posiciona el puntero al principio del archivo.
“w”: Abre el archivo para escritura únicamente. Posiciona el puntero al principio del archivo y lo trunca con un largo de cero. Si el archivo no existe, intenta crearlo.
“w+”: Abre el archivo para lectura y escritura. Posiciona el puntero al principio del archivo y lo trunca con un largo de cero. Si el archivo no existe, intenta crearlo.
“a”: Abre el archivo para escritura únicamente pero posiciona el puntero al final del archivo. Si el archivo no existe, intenta crearlo.
“a+”: Abre el archivo para lectura y escritura. Posiciona el puntero al final del archivo. Si no existe, intenta crearlo.
“x”: Crea y abre para escritura únicamente el archivo. Posiciona el puntero al principio del archivo. Si el archivo ya existe, fopen() va a fallar y va a devolver un FALSE y generará un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo.
“x+”: Crea y abre para lectura y escritura. Posiciona el puntero al principio del archivo. Si el archivo ya existe, fopen() devuelve FALSE y genera un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo.

Fuente:
http://www.elwebmaster.com/editorial...-de-archivos-1.

Saludos!!!
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 30/04/2009, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Excribir en un archivo txt

no se, pero si lees en el manual de PHP

http://www.php.net/manual/es/function.fopen.php

Cita:
'r' | Apertura para sólo lectura; ubica el apuntador de archivo al comienzo del mismo.

'r+' | Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo del mismo.

'w' | Apertura para sólo escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud de cero. Si el archivo no existe, intenta crearlo.

'w+' | Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud cero. Si el archivo no existe, intenta crearlo.

'a' | Apertura para sólo escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo.

'a+' | Apertura para lectura y escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo.

'x' | Creación y apertura para sólo escritura; ubica el apuntador de archivo al comienzo de éste. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT en la llamada de sistema open(2) interna.

'x+' | Creación y apertura para lectura y escritura; ubica el apuntador de archivo al comienzo de éste. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no existe, intenta crearlo. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT en la llamada de sistema open(2) interna.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 02/05/2009, 10:52
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: Excribir en un archivo txt

Creo que todo esto lo he probado y no funciona como quiero
  #5 (permalink)  
Antiguo 02/05/2009, 10:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Excribir en un archivo txt

Muestra el codigo como lo tienes, pasandole x o x+ a la funcion fopen() deberia funcionar.
  #6 (permalink)  
Antiguo 02/05/2009, 10:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Excribir en un archivo txt

bueno, es que no todo funciona como queremos... y ya es mucho!

funciona como debe funcionar, tal y como se especifica en el manual....

¿¿por que dices que no te funciona como quieres??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 21:54.