El problema es básicamente que, si ejecuto el código en mi servidor local (uso xampp), me funciona sin ningún problema.
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:
echo "";
Alguna idea de lo que puede pasar? >.>
Lo mas probable es que el servidor tenga desactivada la función, al parecer hay una vulnerabilidad asociada a ella o algo asi lei.
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...
<?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....
Si.. entonces veo que se encuentra desactivada.
Habría otra alternativa a utilizar curl? >_>
Si, ejemplo:
<?php
$ch = curl_init("http://foro.elhacker.net");
curl_exec ($ch);
curl_close ($ch);
?>
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:
$var = file_get_contents("http://foro.elhacker.net");
No he usado curl pero la variable $ch no te sirve?
$ch, en este caso es un objeto.
<?php
$ch = curl_init("http://foro.elhacker.net");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$var = curl_exec ($ch);
curl_close ($ch);
echo $var;
?>
si tiene acceso restringido entonces usa sockets
Cita de: ~ Yoya ~ en 10 Agosto 2010, 01:50 AM
$ch, en este caso es un objeto.
<?php
$ch = curl_init("http://foro.elhacker.net");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$var = curl_exec ($ch);
curl_close ($ch);
echo $var;
?>
Perfecto, era lo que necesitaba ^^
Muchisimas gracias a todos