Foros del Web » Programando para Internet » PHP »

dice que no hay error pero no funciona

Estas en el tema de dice que no hay error pero no funciona en el foro de PHP en Foros del Web. Buenos dias colegas del foro. estoy tratando con la geocodificacion de google maps pero me da un error que no he podido corregir. el codigo ...
  #1 (permalink)  
Antiguo 29/05/2018, 08:13
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 116
Antigüedad: 5 años, 1 mes
Puntos: 2
dice que no hay error pero no funciona

Buenos dias colegas del foro.
estoy tratando con la geocodificacion de google maps pero me da un error que no he podido corregir.

el codigo es el siguiente

Código PHP:
Ver original
  1. if(isset($_GET['variable'])){
  2. $direccion=urlencode($_GET['variable']);
  3. $llave="la asignada por google";
  4. $url="https://maps.googleapis.com/maps/api/geocode/json?address=". $direccion ."&key=".$llave;
  5. $json=file_get_contents($url);
  6. $array=json_decode($json,true);
  7. var_dump($array);
  8. }

y me da lo siguiente:

Warning: file_get_contents(https://maps.googleapis.com/maps/api...cali&key=llave) [function.file-get-contents]: failed to open stream: No error in C:\wamp\www\ServiciosWeb\principal_ser_web.php on line 5

Podria un especialista ayudarme porfavor?. Gracias.
  #2 (permalink)  
Antiguo 29/05/2018, 09:26
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 10 años, 1 mes
Puntos: 528
Respuesta: dice que no hay error pero no funciona

Pues el error parece claro, tu código no puede abrir el archivo que le pasas a file_get_contents

Primero revisa que la url sea accesible desde un navegador (copia y pega en la barra de dirección) si es accesible, puede que tu servidor no esté configurado para el acceso remoto con file_get_contents
  #3 (permalink)  
Antiguo 29/05/2018, 14:10
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 116
Antigüedad: 5 años, 1 mes
Puntos: 2
Respuesta: dice que no hay error pero no funciona

Si, ya lo había intentado y si funciona en la barra del navegador. Podrias por favo indicarme como hacer para configurar el servidor de tal manera que pueda hacer que funcione el file_get_contents() por favor?. Muchas gracias.

Última edición por dacroma; 29/05/2018 a las 14:22
  #4 (permalink)  
Antiguo 29/05/2018, 14:40
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 10 años, 1 mes
Puntos: 528
Respuesta: dice que no hay error pero no funciona

Si tienes acceso al archivo php.ini, prueba la configuración que se indica en el manual oficial: http://php.net/manual/en/filesystem.configuration.php

Otra opción, si puedes hacer uso de curl, es simular el uso de file_get_contents, como se indica en esta página

Código PHP:
Ver original
  1. function get_content($URL){
  2.       $ch = curl_init();
  3.       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4.       curl_setopt($ch, CURLOPT_URL, $URL);
  5.       $data = curl_exec($ch);
  6.       curl_close($ch);
  7.       return $data;
  8. }
  #5 (permalink)  
Antiguo 29/05/2018, 19:14
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 116
Antigüedad: 5 años, 1 mes
Puntos: 2
Respuesta: dice que no hay error pero no funciona

Hola, hice lo que me indicaste
1)configurar el archivo php.ini tal cual como lo dice el manual
y/ò
2)usar la funcion curl

cuando revisè el archivo php.ini estava todo tal cual como lo indica la configuracion en el manual

y cuando hago uso de la funcion curl me da error, este es el codigo:

Código PHP:
Ver original
  1. if(isset($_GET['variable'])){
  2. $llave="la key asignada";
  3. $direccion=urlencode($_GET['variable']);
  4. $url="https://maps.googleapis.com/maps/api/geocode/json?address=".$direccion."&key=".$llave;
  5. $json=get_content($url);
  6. $array=json_decode($json,true);
  7. var_dump($array);
  8. }
  9.  
  10. function get_content($URL){
  11.       $ch = curl_init();//esta es la linea a la cual se refiere el error (linea 12)
  12.       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  13.       curl_setopt($ch, CURLOPT_URL, $URL);
  14.       $data = curl_exec($ch);
  15.       curl_close($ch);
  16.       return $data;
  17. }

y el error es el siguiente:

Fatal error: Call to undefined function curl_init() in C:\wamp\www\ServiciosWeb\principal_ser_web.php on line 12

Última edición por dacroma; 29/05/2018 a las 19:19
  #6 (permalink)  
Antiguo 30/05/2018, 08:49
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 944
Antigüedad: 7 años, 3 meses
Puntos: 136
Respuesta: dice que no hay error pero no funciona

Call to undefined function curl_init()

esto quiere decir que no tienes instalada en el servidor, o al menos habilitada la extension cURL

Cita:

The steps are as follows :

Close WAMP (if running)
Navigate to WAMP\bin\php\(your version of php)\
Edit php.ini
Search for curl, uncomment extension=php_curl.dll
Navigate to WAMP\bin\Apache\(your version of apache)\bin\
Edit php.ini
Search for curl, uncomment extension=php_curl.dll
Save both
Restart WAMP
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #7 (permalink)  
Antiguo 30/05/2018, 09:11
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 116
Antigüedad: 5 años, 1 mes
Puntos: 2
Respuesta: dice que no hay error pero no funciona

Imagino entonces que lo mas correcto seria desinstalar y volver a instalar wampserver. Muchas gracias a todos.



La zona horaria es GMT -6. Ahora son las 21:09.