Postagem

Aqui é onde faço postagens de coisas que acho interessante.

Classe GeoLocation (Geolocalização)

Postagem do dia 01/01/1970 na categoria PHP



Classe php que utiliza webservice do geoplugin.net para buscar informação de localização do usuário através de seu IP.


<?php

/**
 * Classe que busca localizacao do usuario utilizando webservice
 * da geoplugin.net 
 * @exemple $geo = new GeoLocation('127.0.0.1'); $geo->getLocation(); * 
 * @param   IP do servidor
 * @return  Object
 * @author  Tayron Miranda 
 * @since   19/01/2013 18:03
 */	
class GeoLocation{
	
	private $_ip;
	private $_webService;
		
	/**
	 * Metodo construtor da classe 
	 */	
	function __construct( $ip = null )
	{
		// Setando ip passado por parametro, caso nao passe, pega ip do servidor 
		$this->_ip = ( $ip != null ) ? $ip : $_SERVER['REMOTE_ADDR'];
		
		// Configurando webservice a ser utilizado pela classe
		$this->_webService = "http://www.geoplugin.net/php.gp?{$this->_ip}";
	}

	/**
	 * Metodo que consome webservice, monta um objeto padrao com os 
	 * dados vindo do webservice e retorna
	 * @return Object
	 */
	public function getLocation()
	{
		$array = unserialize( file_get_contents( $this->_webService ) );

		// Motando um objedo padrao e retornando para ser acessado
		$geolocation 				= new stdClass();

		$geolocation->city   		= $array['geoplugin_city'];
		$geolocation->region 		= $array['geoplugin_region'];
		$geolocation->country     	= $array['geoplugin_countryName'];
		$geolocation->countrycode 	= $array['geoplugin_countryCode'];
		$geolocation->longitude   	= $array['geoplugin_longitude'];
		$geolocation->latitude  	= $array['geoplugin_latitude'];		

		return $geolocation;
	}
}



Exemplo de utilização da classe

<?php
$geo = new GeoLocation();
$geo->getLocation();



Deixe seus comentários abaixo: