Foros del Web » Programando para Internet » PHP »

Resultado de un include en una variable

Estas en el tema de Resultado de un include en una variable en el foro de PHP en Foros del Web. Hola Necesito meter el resultado de un include(platilla.php) dentro de una variable y no se si lo que intento hacer es una tontería o no ...
  #1 (permalink)  
Antiguo 27/09/2004, 17:33
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
Resultado de un include en una variable

Hola

Necesito meter el resultado de un include(platilla.php) dentro de una variable y no se si lo que intento hacer es una tontería o no se puede, o es de lo más sencillo hehe

Bueno muchas gracias por su ayuda, ejemplo :

$todo_html=include("plantilla_01.php");

¿Que función debo usar? He buscado y no encuentro nada :(

Gracias
__________________
Pancho - Consultor de usabilidad
  #2 (permalink)  
Antiguo 27/09/2004, 17:42
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Eso depende del contenido que posea el archivo que vas a incluir. Postea el código de plantilla_01.php y quizás podamos ayudarte mejor.

Básicamente puedes hacerlo como lo posteas en tu ejemplo, pero es relativo, dependiendo del contenido del script como ya lo dije anteriormente. Un saludo!
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #3 (permalink)  
Antiguo 27/09/2004, 17:44
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
Hola,

El código de plantilla.php es php, imprimo algunas variables y ejecuto una función. Y por pantalla el resultado sale bién, pero yo pretendo enviarlo por mail, y para ello tengo que meterlo en una variable, se te ocurre algo?

Si no me explico peo el código :P

Gracias
__________________
Pancho - Consultor de usabilidad
  #4 (permalink)  
Antiguo 27/09/2004, 17:46
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
¿Podrías pegar el código?
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #5 (permalink)  
Antiguo 27/09/2004, 17:51
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
claro :)
Código:
<table width="600" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
  <tr> 
    <td align="center" valign="top" bordercolor="#FFFFFF">&nbsp;</td>
  </tr>
  <tr bordercolor="#9C198C" bgcolor="#9C198C"> 
    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF"><table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#FFFFFF">
        <tr> 
          <td height="137" bordercolor="#FFFFFF"> <div align="justify"><font size="2" face="Verdana">Bla 
              bla bla</font></div></td>
        </tr>
      </table></td>
  </tr>
  <tr bordercolor="#9C198C" bgcolor="#9C198C"> 
    <td bordercolor="#FFFFFF" bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
  <tr bordercolor="#9C198C" bgcolor="#9C198C"> 
    <td bgcolor="#9C198C">bal</td>
  </tr>
  <tr> 
    <td bordercolor="#000000" class="noticias"> <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
        <tr bordercolor="#FFFFFF"> 
          <td bordercolor="#FFFFFF" class="noticias">bla</td>
        </tr>
        <tr bordercolor="#FFFFFF">
          <td bordercolor="#FFFFFF" class="noticias">&nbsp;</td>
        </tr>
      </table></td>
  </tr>
  <tr valign="top"> 
    <td align="center" bordercolor="#FFFFFF"><br> 
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" valign="middle" ><span class="titulos">bal</span></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center"><p align="justify"><font size="2" face="Verdana">bal</font><font size="2" face="Verdana">balbbalbal</font></p>
            </td>
        </tr>
      </table>
      <br> 
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" valign="middle" ><span class="titulos">bal</span></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center"><p align="left"><font size="2" face="Verdana"><b>bal</b> 
              <b><font color="#FF0000"><? echo $row[email]; ?></font></b><br>
              <b>bal</b> <font color="#FF0000"><b><? echo $row[clave]; ?></b></font></font></p>
            <p align="left">&nbsp;</p></td>
        </tr>
      </table>
      <br>
      <? if($consjo!=''){ ?>
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" valign="middle" ><span class="titulos">bal<b></b></span></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center"><? echo $consjo;?>
            </td>
        </tr>
      </table>
      <? }; ?>
      <br> 
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" valign="middle" ><span class="titulos">bal</span></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center"><p align="justify"><font size="2" face="Verdana">bal</font></p></td>
        </tr>
      </table>
      <br> 
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" valign="middle" >ba<span class="titulos"></span></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center"><p align="center"><font size="2" face="Verdana"><b><u>bal</u></b></font></p>
            </td>
        </tr>
      </table>
      <br> 
      <table width="100%" border="1" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" ><font size="4">bal</font></td>
        </tr>
        <tr valign="top" bordercolor="#FFFFFF"> 
          <td align="center" bordercolor="#FFFFFF"> ba&ntilde;l</td>
        </tr>
      </table>
      <br> 
      <table width="100%" border="1" align="left" cellpadding="0" cellspacing="3" bordercolor="#000000">
        <tr valign="top" bordercolor="#9C198C" bgcolor="#9C198C"> 
          <td height="29" colspan="2" ><font size="4">bal</font></td>
        </tr>
        <!--  <tr valign="top" bordercolor="#FFFFFF"> 
          <table>-->
        <tr bordercolor='#000000'><? echo $topotmadre; ?></tr>
        <!-- </table>
        </tr>-->
      </table></td>
  </tr>
</table>
__________________
Pancho - Consultor de usabilidad
  #6 (permalink)  
Antiguo 27/09/2004, 18:39
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Pues con el código que tu mismo dices funciona perfecto. Lo que tienes que tener en cuenta es que deberás definir las cabeceras de tu e-mail para que soporte HTML. Quedaría asi:

Código PHP:
$todo_html=include("plantilla.php");
mail('[email protected]','Asunto',$todo_html,"Content-Type: text/html; charset=iso-8859-1\nFROM: Antonito <[email protected]>"); 
Un saludo!
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #7 (permalink)  
Antiguo 27/09/2004, 19:28
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
No funciona :(

Tengo puesto esto :

$todo_html=include("plantilla_01.php");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: WEb <[email protected]>\r\n";
$headers .= "Reply-To: [email protected]\r\n";
$asunto= "La revista de web.com";
mail("[email protected]",$asunto,$todo_html,$headers) ;

Y solo me envia un 1, osea que el resultado es positivo, pero lo imprime por pantalla y no lo envia al mail, por favor ayudaaaaa :)

Gracias :)
__________________
Pancho - Consultor de usabilidad
  #8 (permalink)  
Antiguo 27/09/2004, 20:10
 
Fecha de Ingreso: septiembre-2004
Mensajes: 72
Antigüedad: 13 años, 3 meses
Puntos: 0
Hola,

para que el envio de mail te funcione correctamente (hablo por mi experiencia) usa el PHPMailer que lo envia por SMTP y realmente desde que lo uso, jamas me dio problemas.

Saludos
__________________
Pablo F. Savino
---------------

Para aficionados a la Simulacion Aerea Virtual ,
visiten:
http://www.cargovirtual.com
  #9 (permalink)  
Antiguo 28/09/2004, 02:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

include() (www.php.net/include) devuelve un valor que indica si se pudo incluir correctamente el fichero.

Para hacer lo que quieres tendras que jugar con el buffer de salida (http://www.php.net/manual/en/ref.outcontrol.php). Seria cuestion de hacer un ob_start() (www.php.net/ob_start) antes del include(), y despues un ob_get_contents() para coger el contenido generado por el include() y un ob_end_clean() para vaciar el buffer.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 28/09/2004, 21:39
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Te quedaría algo asi:
Código PHP:
ob_start();
include(
'archivo.php');
ob_get_contents();
ob_end_clean() 
¿Y cómo metería el contenido del buffer en una variable?... ¿asi?...

Código PHP:
ob_start();
include(
'archivo.php');
$var=ob_get_contents();
ob_end_clean() 
La verdad no tengo ni idea.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #11 (permalink)  
Antiguo 29/09/2004, 01:54
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Me remito al manual. En los comentarios de los usuarios suelen venir ejemplos. En el de ob_get_contents() viene algo parecido.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #12 (permalink)  
Antiguo 29/09/2004, 07:16
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Precisamente, algo parecido a lo que posteé.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
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 18:57.