Foros del Web » Programando para Internet » PHP »

Re-escribir un archivo

Estas en el tema de Re-escribir un archivo en el foro de PHP en Foros del Web. Buenos dias (para mi al menos). A ver si soy capaz de explicar mi problema bien. Deseo abrir un archivo y escribir en el. Pero ...
  #1 (permalink)  
Antiguo 24/01/2006, 02:06
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 7 meses
Puntos: 0
Re-escribir un archivo

Buenos dias (para mi al menos).
A ver si soy capaz de explicar mi problema bien.
Deseo abrir un archivo y escribir en el. Pero sólo escribir dos variables que saldrán dinámicamente de una base de datos.
El arhivo a re-escribir puede ser el siguiente de ejemplo llamado archivo.htm

Código HTML:
<html><head><title>Pagina prueba</title></head><body>
<p>Aqui todo lo que quiero</p>
<p>Aquí más cosas que quiero</p>
<p>'."$variable1".'</p>
<p>Aquí otras cosas ya escritas</p>
<p>'."$variable2".'</p>
</body></html> 
Lo que deseo es escribir estas variables ahi sin tener que re-escribir todo el fichero cosa que sé como hacer pero imagino que debe haber una manera más sencillla

El código que tengo pensado es:
Código PHP:
//Obento las variables de mi base de datos.
$variable1="hola mundo";
$variable2="Estimado amigo, aquí tiene sus datos: datos";
//abro el archivo en modo lectura
$archivo="archivo.htm";
$fp fopen($archivo"r");
while(!
feof($fp)) {
    
$nuevoarchivo .= fgets($fp,255);
}
fclose($fp);
//He creado la variable $nuevoarchivo. Ahora realizo la sustitución de las variables por su valor
eval('$nuevoarchivo=\''.$nuevoarchivo.'\';');
//Ahora sobreescribo todo
$abrirnuevo=fopen($archivo,"w");
$crear=fputs($abrirnuevo,$nuevoarchivo);
fclose($abrirnuevo); 
¿No hay una manera más sencilla?

Muchas gracias a todos por adelantado
__________________
pwmcorg
  #2 (permalink)  
Antiguo 24/01/2006, 05:12
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Lo que tu pretendes no se llama re-escribir el archivo.htm, sino que cambie dinámicamente (por asi decirlo).
No has de usar las funciones de ficheros para esto. Para tu ejemplo solo has de declarar las variables en el archivo y luego mostrarlas (archivo.php):
Código PHP:
<?php
//Obento las variables de mi base de datos.
$variable1="hola mundo";
$variable2="Estimado amigo, aquí tiene sus datos: datos";
?>
<html>
<head>
<title>Pagina prueba</title>
</head>
<body><p>Aqui todo lo que quiero</p>
<p>Aquí más cosas que quiero</p>
<p><? echo $variable1?></p>
<p>Aquí otras cosas ya escritas</p>
<p><? echo $variable2?></p>
</body>
</html>
Y en el caso que las vbles las recibas de otra pagina cambiarias:
Código PHP:
<?php
//Obento las variables de mi base de datos.
$variable1="hola mundo";
$variable2="Estimado amigo, aquí tiene sus datos: datos";
?>
por:
Código PHP:
<?php
$variable1
=$_GET['variable1'];
$variable2=$_GET['variable2'];
?>
y el resto igual.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 24/01/2006, 06:45
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 7 meses
Puntos: 0
En realidad si es re-escribir.
No se trata de mostrar el archivo en pantalla sino de escribir en el para, posteriormente:
a.- Enviarlo como archivo.htm adjunto en un mensaje de correo
b.- Guardarlo en el servidor como archivo1.htm (y el siguiente archivo2.htm), etc, etc.
Ergo si debo trabajar con ficheros.
Gracias de todas formas por tu aportación
__________________
pwmcorg
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 15:28.