Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php-brief) [Seleccionar]
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 (php-brief) [Seleccionar]
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 (php) [Seleccionar]
<?php

if(!ini_get('allow_url_fopen')){
echo 
"Es necesario activar la directiva allow_url_fopen del php.ini";
exit;
}

echo @
file_get_contents("http://www.google.com");

?>

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 (php) [Seleccionar]
<?php
$ch 
curl_init("http://foro.elhacker.net");
curl_exec ($ch);
curl_close ($ch);
?>
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 (php) [Seleccionar]
$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 (php) [Seleccionar]
<?php
$ch 
curl_init("http://foro.elhacker.net");
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
$var curl_exec ($ch);
curl_close ($ch);

echo 
$var;
?>

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
Cita de: ~ Yoya ~ en 10 Agosto 2010, 01:50 AM
$ch, en este caso es un objeto.

Código (php) [Seleccionar]
<?php
$ch 
curl_init("http://foro.elhacker.net");
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
$var curl_exec ($ch);
curl_close ($ch);

echo 
$var;
?>



Perfecto, era lo que necesitaba ^^

Muchisimas gracias a todos