• Viernes 3 de Mayo de 2024, 11:22

Autor Tema:  Leer Documento En Php Dentro De Php  (Leído 1229 veces)

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Leer Documento En Php Dentro De Php
« en: Domingo 24 de Junio de 2007, 20:49 »
0
Hola buenas, espero que me podais ayudar con un problemilla que tengo.

Necesito saber qué función utilizar para "leer" un documento en php cuando se llama dentro de un documento php; me explico:

he creado una clase PANEl para construir  paneles que cada uno recibe como parámetro un array con su contenido.
si lo llamo con file_gets_content  ejecuta unicamente el código que está en html puro, ahora bien necesitaria que antes de ejecutar esta función se haya interpretado el php que pudiese acompañar al html.

ejemplo:
este es un ejemplo del documento que iria dentro del panel.
pag1.php

Código: Text
  1. <?php  for($i=0;$i<10;$i++) echo($i); ?>
  2. <h1>Prueba</h1>
  3.  

panel.php

Código: Text
  1.  
  2. <?php
  3.  
  4. $pan=new PANEL(file_gets_contents("pag1.php"));
  5. $pan->Draw();
  6.  
  7. ?>
  8.  
  9.  

el resultado dentro del panel es <h1>Prueba</h1> y me gustaria que fuese interpretado también el php

espero haberme explicado bien ^^
Como siempre muchas gracias por vuestro tiempo y un saludo.


F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Leer Documento En Php Dentro De Php
« Respuesta #1 en: Domingo 24 de Junio de 2007, 21:53 »
0
Hola

Prueba de esta manera....

Código: Text
  1. &#60;?php
  2.  
  3. &#036;content=file_get_contents(&#34;pag1.php&#34;);
  4. &#036;match = array('#&#60;&#092;?php(.*?)&#092;?&#62;#se');
  5. &#036;replace= array(&#34;eval(stripslashes('&#036;1'))&#34;);
  6. &#036;content=preg_replace(&#036;match, &#036;replace, &#036;content);
  7.  
  8. &#036;pan=new PANEL(&#036;content);
  9. &#036;pan-&#62;Draw();
  10.  
  11. ?&#62;
  12.  
  13.  




Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Leer Documento En Php Dentro De Php
« Respuesta #2 en: Lunes 25 de Junio de 2007, 17:40 »
0
Muchas gracias, al final mirando un poco mas y con un poco de ayuda lo arregle mediante flujos, me hice una función la cual "parsea" todo el contenido del documento y lo devuelve como un string

Código: Text
  1.  
  2. function ParsePHPFile(&#036;file)
  3. {
  4. ob_start();
  5. require &#036;file;
  6. &#036;content = ob_get_contents();
  7. ob_end_clean();
  8. return &#036;content;
  9. }
  10.  
  11.  

luego sólo hay que llamar a la función antes de hacer el draw, asi:

Código: Text
  1.  
  2. &#036;news= new PANEL;
  3. &#036;news-&#62;setContent(ParsePHPFile(&#34;documentos/noticias.php&#34;));
  4. &#036;news-&#62;Draw();
  5.  
  6.  

F_Tanori veo que usas eval, también me topé con ello, pero a la hora de la verdad no notaba que hiciese nada, me podrías explicar un poco mas detallado que hace eval?

Muchas gracias por la molestia ^^


F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Leer Documento En Php Dentro De Php
« Respuesta #3 en: Lunes 25 de Junio de 2007, 21:33 »
0
Hola

Mira aqui viene claro y entendible


http://de.php.net/eval


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================