Programación Web y Scripting > PHP
Leer Documento En Php Dentro De Php
(1/1)
Kyrylys:
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 ---<?php for($i=0;$i<10;$i++) echo($i); ?><h1>Prueba</h1>
panel.php
--- Código: Text --- <?php $pan=new PANEL(file_gets_contents("pag1.php"));$pan->Draw(); ?>
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:
Hola
Prueba de esta manera....
--- Código: Text ---<?php $content=file_get_contents("pag1.php");$match = array('#<\?php(.*?)\?>#se');$replace= array("eval(stripslashes('$1'))");$content=preg_replace($match, $replace, $content); $pan=new PANEL($content);$pan->Draw(); ?>
Saludos
Kyrylys:
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 --- function ParsePHPFile($file){ob_start(); require $file;$content = ob_get_contents();ob_end_clean();return $content;}
luego sólo hay que llamar a la función antes de hacer el draw, asi:
--- Código: Text --- $news= new PANEL;$news->setContent(ParsePHPFile("documentos/noticias.php"));$news->Draw();
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:
Hola
Mira aqui viene claro y entendible
http://de.php.net/eval
Saludos
Navegación
Ir a la versión completa