Foros del Web » Programando para Internet » PHP »

Como pasar un archivo php, ya procesado, a una variable, para envio por email

Estas en el tema de Como pasar un archivo php, ya procesado, a una variable, para envio por email en el foro de PHP en Foros del Web. Tengo un archivo php, que me crea una pagina html, donde se encuentra una factura de una tienda virtual, me gustaria saber como pasar esta ...
  #1 (permalink)  
Antiguo 12/02/2004, 07:40
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Como pasar un archivo php, ya procesado, a una variable, para envio por email

Tengo un archivo php, que me crea una pagina html, donde se encuentra una factura de una tienda virtual, me gustaria saber como pasar esta página en una variable, para despues poder mandarla por email.

se que con la funcion :
$shtml=implode('',file("formalizar.html"));

pasa a la variable $shtml, el contenido de la página formalizar.html, pero yo en este caso, tengo un archivo php, y si lo paso asi, se vera todo el codigo de dicho archivo, solo quiero que se envie lo que es el archivo procesado por PHP.
  #2 (permalink)  
Antiguo 12/02/2004, 07:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. así sucede de forma "local" .. pero si usas http://www.tal.tal/script.php .. en file() sólo veras el código HTML/javascirpt/etc que genere ese script.php ..

Tambien se pueden usar las funciones de control del buffer de PHP: ob_start() y afines .. (ejemplos hay en www.php.net)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 12/02/2004, 08:06
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Gracias, pero lo he hecho, y me sale este error:

Warning: file(http://www.merlos-infor.com/tienda%2...stellano/p.php): failed to open stream: no suitable wrapper could be found in /home/httpd/htdocs/merlos-infor.com/tienda virtual/castellano/formalizar.php on line 21

A que es debido!

Gracias por las molestias.
  #4 (permalink)  
Antiguo 12/02/2004, 08:10
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Tengo un archivo formalizar.php, que lo que hace es meterme en la variable $shtml, lo que me has comentado antes Cluster.

$shtml=implode('',file("http://www.merlos-infor.com/tienda%20virtual/castellano/p.php"));

Pero me sale el error de antes. A que será debido?

Un saludo.
  #5 (permalink)  
Antiguo 12/02/2004, 08:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues te está diciendo que no puedes usar fopen() ni funciones que accedan a archivos de forma "remota" .. es decir por http:// o ftp:// (eso sucede por qué: allow_url_fopen = OFF de tu php.ini (phpinfo() lo puedes ver si usas un servicio de hosting).

Tendras que hacer lo que pretendes por el otro método que comenté:

Código PHP:
<?
ob_start
();
include(
"nose.php");
$html=ob_get_contents();
ob_end_flush();
?>
De esta manera .. se controla el buffer de salida de PHP. Se inicia la "captura" del buffer con ob_start() .. se incluye tu código (include()) y PHP lo ejecuta .. el resultado "HTML/etc" está siendo capturado con la anterior función. Con ob_get_contents() nos llevamos ese "buffer" a una variable y .. terminamos la captura del buffer con ob_end_flush() ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 12/02/2004 a las 08:19
  #6 (permalink)  
Antiguo 13/02/2004, 03:53
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Muchas gracias cluster, asi lo consigo.
Lo que pasa ahora, es que lo que envio tambien sale por pantalla, esto se puede evitar!

Muchas gracias por las molestias!
  #7 (permalink)  
Antiguo 13/02/2004, 07:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok .. pues entonces en lugar de ob_end_flush() que entrega lo que tenga el buffer a la salida .. usa:

ob_end_clean()

Que no entrega nada a la salida (eso sí ... igualmente lo tienes en el buffer de salida por si haces un flush()

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 23:55.