Foros del Web » Programando para Internet » PHP »

¿Es posible realizar algo parecido a un include() sin imprimir en pantalla?

Estas en el tema de ¿Es posible realizar algo parecido a un include() sin imprimir en pantalla? en el foro de PHP en Foros del Web. Buenas foreros, Estoy pensando en utilizar para mi web un sistema de templates, pero uno propio, ya que no necesito todas las funcionalidades que me ...
  #1 (permalink)  
Antiguo 14/03/2009, 06:18
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 20 años, 9 meses
Puntos: 2
¿Es posible realizar algo parecido a un include() sin imprimir en pantalla?

Buenas foreros,

Estoy pensando en utilizar para mi web un sistema de templates, pero uno propio, ya que no necesito todas las funcionalidades que me brindan los sistemas como Smarty. Mi duda es la siguiente:

Sé que con file_get_contents() puedo obtener el contenido de un archivo, que en mi caso sería un .html o .php, que estaría dentro de la carpeta "secciones/". Ahora: si yo quisiera incorporar código PHP a este archivo a ser incluido, hay alguna forma de que se ejecute? Intenteré explicarlo mejor:

Supongamos que la variable sec, que corresponde a sección, está en ese momento seteada en "datos_publicos".

Desde index.php, entonces, guardo en una variable el contenido de template.tpl, que sería la template de mi sitio. En el lugar de template.tpl que está definido para mostrar el contenido, coloco lo que está dentro del archivo seccion/datos_publicos.php. Ahora, si dentro de datos_publicos.php yo tengo un código PHP, ¿es posible de alguna forma que se ejecute sin necesidad de hacer un include(), para que no se muestre directamente el archivo en pantalla, y en cambio guardarlo en una variable para mostrarlo cuando le indique a mi template que debe mostrarse?

Espero haber podido expresarme bien, ¡gracias por leer!
__________________
De mucho estudiar nadie se murió, pero mas vale no arriesgarse
  #2 (permalink)  
Antiguo 14/03/2009, 06:51
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 20 años, 9 meses
Puntos: 2
Respuesta: ¿Es posible realizar algo parecido a un include() sin imprimir en pantalla

Ya descubrí la solución, así que la pongo por si a alguien le interesa:

Código PHP:
<?php
ob_start
();

include(
$archivo);

$var ob_get_contents();

ob_end_clean();

//Para mostrar el contenido, con el PHP parseado y todo:
echo $var;
?>
  • $archivo: archivo que queremos guardar en la variable
__________________
De mucho estudiar nadie se murió, pero mas vale no arriesgarse
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 14:09.