Foros del Web » Programando para Internet » PHP »

Error con file_get_contents

Estas en el tema de Error con file_get_contents en el foro de PHP en Foros del Web. El error es el siguiente: estoy creando un sistema de clima para php el cual se conecta a la api de google del clima en ...
  #1 (permalink)  
Antiguo 09/05/2012, 08:30
 
Fecha de Ingreso: noviembre-2011
Ubicación: Bogotá
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Exclamación Error con file_get_contents

El error es el siguiente:

estoy creando un sistema de clima para php el cual se conecta a la api de google del clima en el hosting de webcindario me funciona normal pero al momento de probarlo en local me ocurre este error


Warning: file_get_contents(http://www.google.com/ig/api?weather=bogota&hl=es) [function.file-get-contents]: failed to open stream: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\xampp\htdocs\clima_final\datos.php on line 16

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\clima_final\datos.php on line 16

lo mismo ocurre cuando intento ingresarlo en el hosting de producción la verdad no se como solucionar esto

este es el codigo que estoy utilizando

Código PHP:
require 'xml2array.php';

$dep $_POST['dep'];
$url "http://www.google.com/ig/api?weather=" $dep "&hl=es";

$url_tr str_replace(" ""%20"$url);
$contents utf8_encode(file_get_contents($url_tr));
$data xml2array($contents);

$weather_info $data['xml_api_reply']['weather']['forecast_information'];
$weather_current $data['xml_api_reply']['weather']['current_conditions'];
$weather_forecast $data['xml_api_reply']['weather']['forecast_conditions']; 
  #2 (permalink)  
Antiguo 09/05/2012, 10:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error con file_get_contents

Ese error puede suceder por dos cosas:
1.- Por que el servidor al que estas tratando de conectarte esta offline (lo dudo porque es el de Google). Esto no tiene solución porque depende del sitio remoto.

2.- Porque tienes algún Firewall que esta bloqueando las conexiones salientes a esa dirección. ¿La solución?, desactiva o configura el firewall para permitir a PHP salir a esa dirección que estas tratando de ingresar.

Saludos.
  #3 (permalink)  
Antiguo 09/05/2012, 11:10
Avatar de NetGratis_eu  
Fecha de Ingreso: mayo-2012
Mensajes: 19
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Error con file_get_contents

Has probado a cambiar ésto
Código PHP:
Ver original
  1. $url = "http://www.google.com/ig/api?weather=" . $dep . "&hl=es";
  2.  
  3. $url_tr = str_replace(" ", "%20", $url);
por simplemente ésto?
Código PHP:
Ver original
  1. $url = "http://www.google.com/ig/api?weather=" . urlencode($dep) . "&hl=es";

Es posible que haya otros carácteres que necesiten urlencode() - no sólo el espacio.

EDITO:
Si sigue sin funcionar (veo que se trata de que no responde, no devuelve error en las cabeceras - de hecho seguramente no se establezca la conexión), intenta hacer <? echo file_get_contents('http://www.google.com/'); ?>
Si no funciona, tu alojamiento está bloqueando las conexiones salientes, al menos a Google.
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 15:26.