Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: ‭lipman en 9 Agosto 2010, 14:38 pm



Título: Problema con file_get_contents
Publicado por: ‭lipman en 9 Agosto 2010, 14:38 pm
El problema es básicamente que, si ejecuto el código en mi servidor local (uso xampp), me funciona sin ningún problema.

Código
  1. echo file_get_contents("http://www.google.com");

Pero si lo subo a un servidor web que tengo, no me funciona.. el resultado es el mismo que si escribiese:

Código
  1. echo "";

Alguna idea de lo que puede pasar? >.>


Título: Re: Problema con file_get_contents
Publicado por: jdc en 9 Agosto 2010, 15:30 pm
Lo mas probable es que el servidor tenga desactivada la función, al parecer hay una vulnerabilidad asociada a ella o algo asi lei.


Título: Re: Problema con file_get_contents
Publicado por: ~ Yoya ~ en 9 Agosto 2010, 17:52 pm
Al parecer el servidor web tiene desactivada la directiva allow_url_fopen del php.ini...

http://www.php.net/manual/es/filesystem.configuration.php#ini.allow-url-fopen



Prueba este source...
Código
  1. <?php
  2.  
  3. if(!ini_get('allow_url_fopen')){
  4. echo "Es necesario activar la directiva allow_url_fopen del php.ini";
  5. }
  6.  
  7. echo @file_get_contents("http://www.google.com");
  8.  
  9. ?>
Si esta desactivada la directiva allow_url_fopen, se ejecuta el if y se termina el script...

Mejor trata de ocupar Curl....


Título: Re: Problema con file_get_contents
Publicado por: ‭lipman en 9 Agosto 2010, 22:02 pm
Si.. entonces veo que se encuentra desactivada.

Habría otra alternativa a utilizar curl? >_>


Título: Re: Problema con file_get_contents
Publicado por: ~ Yoya ~ en 9 Agosto 2010, 23:25 pm
Si, ejemplo:
Código
  1. <?php
  2. $ch = curl_init("http://foro.elhacker.net");
  3. curl_exec ($ch);
  4. curl_close ($ch);
  5. ?>


Título: Re: Problema con file_get_contents
Publicado por: ‭lipman en 10 Agosto 2010, 01:21 am
Funciona perfectamente ^^

Y como podria asignarlo a una variable? Porque no quiero "ejecutarlo" por así decirlo, sino simplemente guardarlo en una variable, del mismo modo que haria:

Código
  1. $var = file_get_contents("http://foro.elhacker.net");


Título: Re: Problema con file_get_contents
Publicado por: jdc en 10 Agosto 2010, 01:47 am
No he usado curl pero la variable $ch no te sirve?


Título: Re: Problema con file_get_contents
Publicado por: ~ Yoya ~ en 10 Agosto 2010, 01:50 am
$ch, en este caso es un objeto.

Código
  1. <?php
  2. $ch = curl_init("http://foro.elhacker.net");
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  4. $var = curl_exec ($ch);
  5. curl_close ($ch);
  6.  
  7. echo $var;
  8. ?>
  9.  


Título: Re: Problema con file_get_contents
Publicado por: WHK en 10 Agosto 2010, 14:20 pm
si tiene acceso restringido entonces usa sockets


Título: Re: Problema con file_get_contents
Publicado por: ‭lipman en 11 Agosto 2010, 11:55 am
$ch, en este caso es un objeto.

Código
  1. <?php
  2. $ch = curl_init("http://foro.elhacker.net");
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  4. $var = curl_exec ($ch);
  5. curl_close ($ch);
  6.  
  7. echo $var;
  8. ?>
  9.  

Perfecto, era lo que necesitaba ^^

Muchisimas gracias a todos