Comunidad de diseño web y desarrollo en internet online

generar html desde php y guardarlo en la misma carpeta

Citar            
MensajeEscrito el 28 Nov 2008 01:23 pm
Buenas a todos!!!!
Al grano: estoy automatizando una revista que se distribuye via email. No estoy automatizando el envio, sino que ahora se genera por bse de dtos y eso. Bien, la cosa es que el archivo que se envia es un html que se genera a traves de un php que se llama revista. Es decir, en un pequeño panel de control tengo un boton que llama a revista.php . Este archivo y gracias a estas lineas

Código :

header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=REVISTA_".fechaNombreArchivo().".html; size=$size_in_bytes");
header("Pragma: no-cache");
header("Expires: 0");

me abre una ventana de descarga del archivo html estatico de la edicion de la revista para enviar.
Bien, ahora, estoy necesitando guardar esta misma copia del html estatico en el servidor, en la misma carpeta de revista.php.
He probado con la funcion copy(), la cual me funciono de maravillas, pero me copio el archivo php como estaba, digamos que solo le cambio la extension y lo grabo antes de que php haga todas las consultas. De hecho me grabo todas las funciones y consultas php como texto..... es decir, una cagada. Esto es muy cerca a lo que estoy necesitando, solo falta que primero haga las consultas, genere el html y despues si grabarlo.
A alguien se le acurre algo!!!!!
Muchas gracias!!!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Nov 2008 01:51 pm
¿Por qué si generas el html, no lo almacenas todo en una cadena y lo guardas con file_put_contents?

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Nov 2008 02:24 pm
Mil gracias Maikel!!!
Ya lo pruebo y te cuento, pero me parece que es algo asi lo que estoy necesitando!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Nov 2008 05:34 pm
prueba con curl con este puede emular un browser eso creo q te puede servir o el file_get_content jalas el resultado en html q te arroja el php y lo generas en un archivo con fopen y tendras tu nuevo archivo html con el nombre generico que tu le des saludos ;-)

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 05 Dic 2008 07:31 pm
Bueno, estube probando lo que me dijeron y tube un par de problemas:
esto que estoy necesitando es para lo siguiente: el archivo es revista.php ... si, es una revista diaria. Las notas cambian todos los dias , esto se hace a traves de consultas a una base de datos que cargan los periodistas... pero tambien hay mucha informacion estatica que tambien va cambiando, con menos frecuencia, pero cambia.
Entonces, a mayor cantidad de archivos duplicados, cada actualizacion se va a hacer mas tediosa y con mayor posibilidades de errores. Entonces lo que necesito es tener solo 1 archivo .php, el cual, luego de hacer todas las consultas y haber generado el archivo estatico, ademas genere una copia de si mismo y la guarde al lado como archivo html estatico.

Gracias a todos!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Dic 2008 03:10 am

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Dic 2008 12:54 pm
Gracias Maikel!!!
cuando me habias pasado file_put_contents , tambien habia encontrado esta file_get_contents, pero medio que no entendi mucho. Profundizo en el tema y te cuento!!!
Gracias nuevamente

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Dic 2008 02:40 pm
Mikel, me paso lo siguiente:
Voy a tratar de explicarte un poco mejor mi problema.
tengo 2 archivos:
contenido.php que tiene lo siguiente

Código :

<?php 
echo "este es el contenido";
?>

otro que se llama llamador.php

Código :

<?php 
echo file_get_contents('contenido.php');
?>

y lo que obtengo visualizando llamador.php es :
<?php
echo "este es el contenido";
?>
y no:
este es el contenido

Se entiende mi problema?

De hecho me aprece mas compliado todavia mi problema real, ya que necesito en realidad que sea lo siguiente( ba mas o menos, no entiendo bien):
que el archivo contenido.php se asi

Código :

<?php 
echo "este es el contenido";
$newfile = 'pruebadecopia.html';
$contenido = file_get_contents('contenido.php');
copy($contenido, $newfile);
?>

y que al ver pruebadecopia.html se vea "este es el contenido" y no " <?php
echo "este es el contenido";
$newfile = 'pruebadecopia.html';
$contenido = file_get_contents('contenido.php');
copy($contenido, $newfile);
?> "

es decir, la funcion copy($contenido, $newfile); me hace casi casi lo que necesito: me busca el contenido de un archivo (no he probado si se puede llamar a si mismo, pero eso tendria alguna forma de solucionarlo) y me genera con esto un nuevo archivo..... pero no ejecuta antes el php para poner el contenido.
Una solucion que he estado pensando es dejarlo como php y al carajo ... pero realmente lo preferiria estatico para tener un archivo mas unifirme (hace mas de 100 ediciones que lo guardan html )y seguro (no dependeria de la base de datos.... ya hemos tenido problemas con esto).

Bueno, no jodo mas!!! jaja
Muchas gracias por la ayuda!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Abr 2009 03:49 am
Pues AMigo la verdad es que ami me funciono utilizando el metodo include es decir:

<?php
$newfile = 'copia.htm';
$contenido = file_get_contents('contenido.php');
$copiado=move_uploaded_file($contenido, $newfile);
if($copiado==false)
{ print "Error al Copiar el Archivo al Servidor" . '<br>'; }
else
{ print "Ok, se creo el nuevo Archivo en copia.htm" . '<br>'; }
// echo $contenido; 'por keke solo muestra el codigo htm y no saca el php
?>

Usando el Include...
<?php

include('contenido.php');
echo ('contenido.php');
// echo <script languaje='javascript'> document.write(<? echo $y '+'?'>) </scr'+'ipt>'
?>

Entonces la funcion echo te muestra todo el contenido del archivo solo los resultados de las consultas sql en el php creo ke si existe una cuncion de copiar y pegar el contenido ke estas viendo en pantalla del contenedor.

Henry Pandales

Por pandales

2 de clabLevel



 

Quibdo

msie8
Citar            
MensajeEscrito el 09 Abr 2009 03:50 am
Por lo pronto te Recomiendo la web
http://www.delchoco.com
http://www.delchoco.com/play.htm
http://www.delchoco.com/damaguarte.htm

Por pandales

2 de clabLevel



 

Quibdo

msie8
Citar            
MensajeEscrito el 11 Abr 2009 12:45 pm
Muchas gracias Pandales!!!!
Lo pruebo el lunes y te cuento... pero puede ser una solucion!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.