Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

No carga todo el file_get_contents

Estas en el tema de No carga todo el file_get_contents en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Necesito saber porque no carga los include cuando hago file_get_contents... Esto es lo que tengo en el controller IndexAction Código PHP: public function  indexAction ()     { ...
  #1 (permalink)  
Antiguo 10/09/2011, 10:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
No carga todo el file_get_contents

Necesito saber porque no carga los include cuando hago file_get_contents...

Esto es lo que tengo en el controller IndexAction
Código PHP:
public function indexAction()
    {
      
       
       
$file  'C:/xampp/htdocs/Test/library/Html/index.php';
       
    


       
$contents file_get_contents($file);
       
       
$this->view->content $contents;
    
    } 
En la vista tengo :

Código PHP:
<?=$this->content?>

En el archivo C:/xampp/htdocs/Test/library/Html/index.php tengo .

Código PHP:
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
      <div id="column"> 
           Content.
           <?php include "C:/xampp/htdocs/Test/library/Html/Test.php";?>

      </div>

  </body>
</html>
Y en el archivo Test.php tengo :

Código PHP:
<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
$test = array('a'=>1,'b'=>2);
echo 
'<div id="items">';
foreach(
$test as $key=>$t){
    
$key.':'.$t;echo "<br ></div>";
}
echo 
'</div>';
?>
La salida no me muestra el contenido de Test.php, que es lo que me falla... o me falta, un saludo
  #2 (permalink)  
Antiguo 10/09/2011, 11:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: No carga todo el file_get_contents

Porque file_get_content no va a interpretar PHP, no hace como eval que interpreta lo que tienes. file_get_contents solo toma el resultado de la llamada esto es cuando lo estás ejecutando en forma de URL, pero si estás llamando un archivo directamente en el servidor lo que hace es leer el contenido solamente. Para que entiendas mejor, haz esto
Código PHP:
Ver original
  1. <?php
y verás que solo devuelve todo lo que tiene foo.php con sus respectivas entidades.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 10/09/2011, 11:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

Ok ya veo , entonces como puedo leer todo el archivo por http para mostrar todo.

Un saludo
  #4 (permalink)  
Antiguo 10/09/2011, 11:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

Solucionado llamando..
$this->view->content = eval ('?> '.$contents);

Hay alguna manera de remplazar ese include por otro include com este por ejemplo.
Código PHP:
Ver original
  1. <?php
  2. /*
  3.  * To change this template, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. $test = array('Nombre'=>'Juan','Apellido'=>'Perez');
  8. echo '<div id="items">';
  9. foreach($test as $key=>$t){
  10.     echo $key.':'.$t;echo "<br ></div>";
  11. }
  12. echo '</div>';
  13. ?>

antes de hacer esto , o hay que hacer una vez hecho el eval(), saludos y gracias por la ayuda
  #5 (permalink)  
Antiguo 10/09/2011, 12:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: No carga todo el file_get_contents

Usalo como una dirección web.
Código HTML:
Ver original
  1. echo file_get_contents('http://localhost/foo.php');
Claro está, requieres de activar allow_url_fopen, si no pues con cURL lo puedes lograr también. Te recomiendo que leas el tema que continen los aportes, hay uno que explica más detallado como trabajar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 11/09/2011, 19:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No carga todo el file_get_contents

Aparte no entiendo, para que estas haciendo eso, si ya Zend trae Zend_View que sirve para usar tus templates.

Saludos.
  #7 (permalink)  
Antiguo 12/09/2011, 00:16
 
Fecha de Ingreso: octubre-2010
Ubicación: Uruguay, Canelones
Mensajes: 66
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: No carga todo el file_get_contents

Y el $this->partial('{path/to/file}'), no servirá??
Si es que se ecuentra sobre un archivo de la vista
  #8 (permalink)  
Antiguo 13/09/2011, 14:28
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

GatorV, la idea principal es , .
Código PHP:
$file  'C:/xampp/htdocs/Test/library/Html/index.php'
  
$contents file_get_contents($file); 
Para despues parsear el html de $contents, para remplazar un
Código HTML:
<div id="items">a:1
b:2</div> 
por
Código HTML:
<div id="items">nombre:Juan
apellido:Perez</div> 
Entonces antes de llevarlo a la vista tengo que sacar la salida en html , para despues cambiarla....

Con zend se puede obtener el html de un path , sin necesidad de pasarlo antes a la vista para que no me lo renderize....Necesito hacerlo Php.

Un saludo y gracias por la ayuda..
  #9 (permalink)  
Antiguo 13/09/2011, 14:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: No carga todo el file_get_contents

Pues el comentario de lalolerena es correcto, con partial puedes lograrlo, ejemplo con partialLoop para diferentes datos http://framework.zend.com/manual/en/...nitial.partial Mira el ejemplo 9
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 13/09/2011, 14:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

El Caso q pones en el supuesto de que yo no tenga formatear el html, que en mi caso tengo que formatearlo...es decir carga el div y remplazar el contendio y despues de remplazarlo pasarsela a la vista....
  #11 (permalink)  
Antiguo 13/09/2011, 15:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No carga todo el file_get_contents

Por eso, el Zend View esta para eso, para poder hacer tus templates y que no tengas que hacer cosas como esa, con partial puedes cargar una parte solamente e insertarla en tu script actual.

Lo que estas haciendo solo estas brincando todo lo que te brinda Zend View y evaluandolo por tu cuenta.
  #12 (permalink)  
Antiguo 17/09/2011, 03:44
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

Pues muchas gracias pero he probado y no se como cojer el html directamente con el zend view, y cargalo en un variable, para sacar el contenido de cierto div y substituirlo por otro sin necesidad de renderizar para formatearlo y despues pasarlo al vista, hay algun ejemplo o alguien puede echarme una mano , un saludo
  #13 (permalink)  
Antiguo 19/09/2011, 09:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No carga todo el file_get_contents

Sencillo:
Código PHP:
Ver original
  1. $Template = new Zend_View();
  2. $Template->setBasePath(APPLICATION_PATH . '/path/a/views');
  3. $Template->foo = 'bar';
  4.  
  5. $sTemplate = $Template->render('template.phtml');

Saludos.
  #14 (permalink)  
Antiguo 20/09/2011, 14:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: No carga todo el file_get_contents

Muchas gracias , creo que ya lo habia probado y no recuerdo pero creo que no recuperaba el html en la variable , porque usaba addScriptPath , en lugar de setBasePath, pero ahora mismo no lo recuerdo....Muchas gracias por todo...tambien probe con Zend_Http_Client y el Zend_Dom para parsear e injectar html ...Pero seguire probando y avanzando y conociendo un poco mas.
Un saludo...

Etiquetas: zend
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 17:42.