elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con fopen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con fopen  (Leído 1,730 veces)
juanfelice7

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con fopen
« en: 11 Diciembre 2014, 09:51 am »

Hola a todos!
Quiero contarles que mis conocimientos de PHP son escasos, pero me las ingenié para llegar a esto.
Lo que estoy haciendo es escribir en un TXT, pero lo que quiero hacer (y me está dando problemas) es re-escribir en el archivo, pero sin borrar su contenido.
Para eso usé "r+" porque necesitaba escribir a partir del comienzo del archivo, pero lo que hace es (de todas maneras) reemplazar los caracteres siguientes.
¿Cómo puedo escribir al principio de un archivo manteniendo el resto del contenido?

Les dejo todo mi código, que es muy pequeño, pero que me está dando dolores de cabeza.
¡Y desde ya muchísimas gracias!
Juan

Código
  1. <html>
  2. <head>
  3. <title>Cartelera</title>
  4. <meta name="robots" content="noindex">
  5. <meta name="googlebot" content="noindex">
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  7. </head>
  8. <body>
  9. <h1>Cartelera</h1>
  10. <?php
  11.   $ar=fopen("./wp-content/themes/reco/datos.txt","r+") or
  12.    die("ERROR.");
  13.  fputs($ar,"\n");
  14.  fputs($ar,"<h6>");
  15.  fputs($ar,$_REQUEST['titulo']);
  16.  fputs($ar,"</h6>");
  17.  fputs($ar,"\n");
  18.  fputs($ar,"<p>");
  19.  fputs($ar,$_REQUEST['contenido']);
  20.  fputs($ar,"</p>");
  21.  fputs($ar,"<hr width='100%'>");
  22.  fputs($ar,"<br>");
  23.  utf8_encode($ar);
  24.  fclose($ar);
  25.  echo "Los datos se cargaron correctamente.";
  26.  ?>
  27. </body>
  28. </html>
  29.  

Mod: Etiquetas GeSHi obligatorias. Posts sobre PHP van al subforo de PHP.


« Última modificación: 11 Diciembre 2014, 10:04 am por juanfelice7 » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Problema con fopen
« Respuesta #1 en: 11 Diciembre 2014, 10:18 am »

Ese comportamiento es normal porque empiezas a escribir desde el principio del archivo hacia abajo. Lo que tienes que hacer es leer el archivo (obtener en contenido anterior) y escribir ambas cosas (lo nuevo y lo viejo).

Código
  1. $archivo = '/wp-content/themes/reco/datos.txt';
  2. $ar=fopen($archivo,"r+") or die("ERROR.");
  3.  
  4. $_data = fread($ar,filesize($archivo));
  5.  
  6. fputs()...
  7.  
  8. fputs($ar,$_data);
  9. fclose($ar);
  10.  
  11. echo "Los datos se cargaron correctamente.";

El utf8_encode($ar) es incorrecto ahí. No se que intenciones tenias con el pero esa función utiliza strings, no objetos.

Saludos


En línea

juanfelice7

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema con fopen
« Respuesta #2 en: 11 Diciembre 2014, 20:01 pm »

Me sirvió muchísimo tu ayuda!! De todas formas algo sigue fallando.

Cuando publico un nuevo anuncio me parece el texto anterior tanto arriba como abajo.
Por ej.

Publico "1" y se escribe "1"
Publico "2" y se escribe "1 2 1"
Publico "3" y se escribe "1 2 1 3 1 2 1"

Tendría que bloquear que lo pegue también arriba, sólo abajo. ¿Es así? ¿cómo lo lograría?
Gracias de nuevo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Problema] Combinando Fopen con bucles for. ¿Donde están las variables?
PHP
‭lipman 4 2,215 Último mensaje 7 Agosto 2008, 01:09 am
por ‭lipman
fopen + http error
PHP
cundre 3 4,357 Último mensaje 13 Noviembre 2010, 01:58 am
por #!drvy
fopen no abre archivos « 1 2 »
Desarrollo Web
Nitch 13 8,786 Último mensaje 2 Julio 2011, 15:05 pm
por #!drvy
Duda fopen() PHP
Desarrollo Web
..:ALT3RD:.. 9 3,895 Último mensaje 26 Agosto 2013, 00:39 am
por GenR_18
fopen() y c++
Programación C/C++
m@o_614 4 3,225 Último mensaje 3 Marzo 2014, 23:58 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines