Foros del Web » Programando para Internet » PHP »

[Solucionado] Problema con un include

Estas en el tema de [Solucionado] Problema con un include en el foro de PHP en Foros del Web. Tengo varios bloques html como éste: Código HTML: <div id= "estilo" > <h3> titulo </h3> <div class= "clase" > <?php include('archivo.php') ?> </div> </div> Necesito ...
  #1 (permalink)  
Antiguo 06/05/2008, 04:01
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
[Solucionado] Problema con un include

Tengo varios bloques html como éste:
Código HTML:
<div id="estilo">
	<h3>titulo</h3>
	<div class="clase"><?php include('archivo.php') ?></div>
</div> 
Necesito pasar cada bloque a variables para porque voy a hacer un array. Hay un método del que supe recientemente y viene muy bien en este caso, el cual es

Código PHP:
<<<HTML
tal cosa
HTML; 
Entonces hice esto:

Código PHP:
<?php
$bloque1 
=
<<<HTML
<div id="estilo">
    <h3>titulo</h3>
    <div class="clase">include('archivo.php')</div>
</div>
HTML;
echo 
$bloque1;
?>
No funciona

Código PHP:
<?php
$include 
= include('archivo.php');
$bloque1 =
<<<HTML
<div id="estilo">
    <h3>titulo</h3>
    <div class="clase">$include</div>
</div>
HTML;
echo 
$bloque1;
?>
Tampoco funciona.

Hice como 3 o 4 variantes más y nada de resultados. El problema es que no sé cómo meter ese include en esas condiciones. El método es muy bueno porque me permite conservar la parte del HTML casi intacta, pero por ahora estoy estancado con ese detalle.
  #2 (permalink)  
Antiguo 06/05/2008, 04:24
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Problema con un include

Prueba así a ver:
Código PHP:
<?php
$bloque1 
=
<<<HTML
<div id="estilo">
    <h3>titulo</h3>
    <div class="clase"><?php include('archivo.php'); ?></div>
</div>
HTML;
echo 
$bloque1;
?>
  #3 (permalink)  
Antiguo 06/05/2008, 04:28
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Re: Problema con un include

Gracias jerkan . Esa fue otra que había probado y nada.
  #4 (permalink)  
Antiguo 06/05/2008, 04:49
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Problema con un include

Código PHP:
<?php
$bloque1 
=
<<<HTML
<div id="estilo">
    <h3>titulo</h3>
    <div class="clase">__INCLUDE__archivo.php__INCLUDE__</div>
</div>
HTML;
echo 
$bloque1;

function 
muestra($bloque) {
$arr=split("__INCLUDE__",$bloque);

echo 
$arr[0];
if(isset(
$arr[1])) {
include(
$arr[1]);
echo 
$arr[2];
for(
$i=3;$i<count($arr);$i++) {
include(
$arr[$i]);
$i++;
echo 
$arr[$i];
}
}

}
?>
Prueba con esta funcion, si te vale la solución :)
  #5 (permalink)  
Antiguo 06/05/2008, 04:58
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Re: Problema con un include

Gracias Eleazan, pero nada de nada . El texto se muestra tal cual como si fuese un echo:

Código PHP:
__INCLUDE__archivo.php__INCLUDE__ 
Dentro de mi ignorancia "sospecho" que la cuestión viene mediante una clase. Me percaté de que el código sólo acepta variables.
  #6 (permalink)  
Antiguo 06/05/2008, 05:18
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Problema con un include

perdon >.>

en "echo $bloque" deberia poner

"muestra($bloque);" >.<

Fallo por copy & pasta :)
  #7 (permalink)  
Antiguo 06/05/2008, 05:21
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Re: Problema con un include

Lo tengo!

Código PHP:
<?php
ob_start
();
include_once( 
'archivo.php' );
$archivo ob_get_contents();
ob_end_clean();
$bloque1 =
<<<HTML
<div id="estilo">
    <h3>titulo</h3>
    <div class="clase">$archivo</div>
</div>
HTML;
echo 
$bloque1;
?>
La solución la encontré aquí:

http://www.desilva.biz/php/ob_start.html

Una vez identificado el problema (sólo se admiten variables) lo que hice fue googlear para averiguar cómo se mete un include como variable. Este php es tremendo, cada día me pone más adicto .
  #8 (permalink)  
Antiguo 06/05/2008, 05:26
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Re: Problema con un include

Disculpa Eleazan no te leí. Probaré también con esa corrección a ver. Muchas gracias .

Como coletilla de todo esto me dio curiosidad saber cómo podrían meterse todos los archivos (cada bloque tiene 1) dentro de un array y hacer así un solo pedazo de código.
  #9 (permalink)  
Antiguo 06/05/2008, 05:36
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Problema con un include

lo mío era (y es, creo xD) una solucion `patatera` xD

Y para la coletilla, en la misma página que encontraste la info, tienes al final un ejemplo con dos include :)
  #10 (permalink)  
Antiguo 06/05/2008, 06:02
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Re: Problema con un include

Sí, así lo estoy haciendo desde entonces. Casi tengo todos los bloques hechos =P.

Lo que me preguntaba es que si se puede hacer un solo array de golpe, dejando el HTML sólo para variables.
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 14:31.