10 mayo, 2012

Ubicación de las visitas a tu sitio desde un API en PHP


Siempre vas a necesitar conocer la ubicación de tus visitas, y si no, deberías, ya sea para mantener datos de visitas (aunque si sólo utilizas Google Analytics, no deberías preocuparte) ó para restringir un acceso a un registro o algún otro permiso, pero como obtienes este dato?

Pues hay un API que nos facilita conocer el país, región e incluso la ciudad de una visita solo ingresando la IP de donde nos accede. Desde ahora les aclaro que utilizar servicios de terceros nos deja a sus pies, y no es recomendado si no conoces la fuente o no confías en él, por unas semanas yo he utilizado este y hasta ahora no me ha fallado en lo que necesito.

El servicio se accede mediante la siguiente dirección: http://api.easyjquery.com/ips/?full=true si ingresas al enlace puedes ver tus datos, y reconocemos que nos retorna los datos en una estructura json (si no sabes que es json no te preocupes puedes leer de eso aquí). Pero lo que queremos es obtener los datos del usuario y no los podemos obligar a ingresar al link, para esto vamos a utilizar la función de PHP llamada file_get_contents que va a ingresar a esa dirección por nosotros y retornarnos esa información del usuario, de esta manera:

$ip = $_SERVER['REMOTE_ADDR'];
$json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
La variable ip es el valor de la IP del visitante que viene dentro del arreglo $_SERVER propio de php, ahora vienen la pregunta:

¿Cada ves que un usuario venga al sitio vamos a usar nuestro script para sacar los datos?
No, al menos lo ideal sería no hacerlo todo el tiempo, puesto que el request a una pagina aparte lleva su tiempo al servidor.
 ¿Pero entonces qué hacemos? Necesitamos almacenar los resultados ya consultados, podemos hacerlo de dos maneras:
  • Almacenarlos en una base de datos.
  • Almacenarlos en un directorio.
Almacenarlos en una base de datos sería lo más fácil, por eso vamos a tomar un método menos común y los vamos a guardar en una carpeta como archivos individuales:
$file = $_SERVER['DOCUMENT_ROOT']."/ip_cache/".$ip;
if(!file_exists($file)){ // request
 $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
 $f = fopen($file,"w+");
 fwrite($f,$json);
 fclose($f);
}else
 $json = file_get_contents($file);
 De esta manera estaremos guardando únicamente archivos llamados como la IP e insertándoles el json directamente, de manera tal que al correr el script primero verificará si el archivo existe (si esta ip ya ha utilizado el script) si existe recogerá los datos del archivo, sino, verificara mediante el API y creará el archivo, una ÚNICA vez.

Así tendremos una forma ágil y rápida de verificar de donde proviene nuestro usuario, en síntesis el script se debe de ver de esta manera:
function get_country(){
    $ip = $_SERVER['REMOTE_ADDR'];
    $file = $_SERVER['DOCUMENT_ROOT']."/ip_cache/".$ip;
    if(!file_exists($file)) {// request
        $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
        $f = fopen($file,"w+");
        fwrite($f,$json);
        fclose($f);
    }else
        $json = file_get_contents($file);
    $json = json_decode($json,true);
    return $json['COUNTRY'];
}
Si necesitan ver todos los datos que retorna en json, pueden hacerle un var_dump() a la variable $json o bien un print_r(). Espero que les haya parecido funcional el script, hasta la próxima.
Si te gustó este aporte y quieres seguir recibiendo temas como este suscríbete a JeankGeek.

08 mayo, 2012

Rastrear tus paquetes con Mapas

Bueno antes de entrar en materia de programación, les traigo un enlace muy práctico para poder rastrear sus paquetes, ya sea que se manden a traer cositas de Amazon o cualquier otra tienda del extranjero. La mayoría de veces lo que podemos ver en paginas como UPS o Fedex es la provincia donde esta el paquete, pero lo que queremos ver es ¿Por donde viene? para esto lo más práctico es un mapa que te muestre punto por punto, y el sitio de packagemapping tiene esto y más, por ejemplo no es necesario que ingreses el proveedor (USPS, UPS, FEDEX, ect..) la pagina se encarga sola de decodificar el codigo de tracking y te muestra en dos columnas los datos que necesitas, en la primera a la izquierda fechas, horas y estimados, en la derecha el tan buscado mapa de google, que - seamos honestos - se puede mejorar, pero aún esta muy bien, de verdad yo quedé muy feliz de encontrar un servicio como este, espero que a ustedes también les sea útil.
Si te gustó este aporte y quieres seguir recibiendo temas como este suscríbete a JeankGeek.

Desempolvando el Blog

Hola a todos, desempolvando un poco mi cuenta de Gmail me di cuenta que aún tenia este blog, y he decidido seguir actualizandolo con cositas un poco más avanzadas de PHP, cosas que vaya aprendiendo o que ya haya aprendido. Así que a todos aquellos que lean o hayan leido el blog, preparense para seguir el blog, que pronto espero aprendan nuevas cosas!! Salu2!!
Si te gustó este aporte suscríbete a JeankGeek si te interesa seguir recibiendo temas como este.

16 septiembre, 2009

Test para Desarrolladores

Name That Code


Este test es uno de los mejores que me han enviado, y hoy se los traigo para que le echen un vistazo, estoy seguro que igual que yo, lo encontrarán entretenido. Denle Click para entrar al Test.

Si te gustó este aporte suscríbete a JeankGeek si te interesa seguir recibiendo temas como este.

05 agosto, 2009

Actualizar de Windows Vista a Windows 7

Por ahí me encontré una interesante imagen que puede ser útil para los que pensamos librarnos pasarnos de Windows Vista a Windows7 y para considerar cual versión nos vendría mejor para hacer una actualización más sencilla:

Clic sobre la imagen para agrandarla:

Si te gustó este aporte suscríbete a JeankGeek si te interesa seguir recibiendo temas como este.

16 junio, 2009

Descargar e Instalar el Firmware 3.0 Gratis



Quieres descargar el Firmware 3.0 para tu iPhone o tu iPod Touch generacion la que sea, del Tio Jobs, pero no quieres pagar los "representativos" $9.99?

Pues Apple nadie te obliga a pagarlos, te lo puedes bajar de acá:

iphone 3g /
iPhone1,2_3.0_7A34... .ipsw
http://depositfiles.com/en/files/pnj6...

iphone /
iPhone1,1_3.0_7A34... .ipsw
http://depositfiles.com/en/files/pp3z...

ipod touch first gen /
iPod1,1_3.0_7A341_... .ipsw
http://depositfiles.com/en/files/dima...

ipod touch second gen /
iPod2,1_3.0_7A341_... .ipsw
http://depositfiles.com/en/files/5z24...

itunes 8.2 (necesario!)
http://www.apple.com/itunes/download/


Para aplicar el cambio, solo abre el iPod/iPhone en tu iTunes, en la pantalla principal presiona Shift (mantener presionado) + botón de Restore, seleccionas el archivo que bajaste y aplicas... esperas paciente, te vas a tomar algo y vuelves para explorar tu nuevo Firmware 3.0. porque eso es todo! no tienes que ser un experto en computo para hacerlo, asi que porque no! Animate!

Gracias Tio Jobs, porque por las mejores cosas de la vida, no siempre hay que pagar ;)

Si tienen dudas, aqui les dejo un video en youtube con las instrucciones ya que no tube tiempo de hacer un video yop, Comenten a ver si como a mi, les sirvio?? o si tienen dudas!!

Saludos!
Si te gustó este aporte suscríbete a JeankGeek si te interesa seguir recibiendo temas como este.

14 junio, 2009

[Descargas] Calendario en Javascript


Si estas desarrollando y necesitas un calendario rápido y listo para usar, aquí te dejo el link para descargar y utilizar, es en javascript y tiene las instruccciones listas, si necesitas ayuda, no dudes en comentar.


Si te gusto este aporte suscribete a JeankGeek.blogspot.com para enterarte de esto y más.

12 junio, 2009

[Truco] Ver tus comprimidos (part1.rar) antes de descargarlos todos

Nunca te ha pasado que estas bajando una peli, y quieres saber como esta la calidad??? o ver si esta subtitulada? bueno para eso no es necesario que bajes todas las partes de la película, basta con la primera, mira los pasos para librarte de dolores de cabeza:

Primero bájate la primera parte de tu archivo, la película en nuestro caso:
Una ves que este abajo, dale doble click para que abra el winrar lo puedes conseguir aquí, una ves abierto seleccionamos extraer en:
Aquí es donde viene el truco: selecciona keep broken files o continuar con los archivos rotos (imagino que algo así dice en la versión español)

Y así podremos darnos cuenta y sacarnos de dudas, como es la película que vamos a bajar 

Y listo! No lo sabias? ya no sufras más!

Si te gusto este aporte suscríbete a JeankGeek.blogspot.com para enterarte de esto y más.