Friday, December 14, 2012
Finding geo location of the ip address in PHP
If you are using google map in your application and wanted to show the user location google map in your application. then we the find the ip address and get the geo location of the ip address. Bellow is the method to find the city by passing the ip address Using PHP.
/**
* Funtion to find the city by passing the IP Address.
*/
function geoCheckIP($ip)
{
//check, if the provided ip is valid
if (!filter_var($ip, FILTER_VALIDATE_IP))
{
throw new InvalidArgumentException("IP is not valid");
}
//contact ip-server
$response = @file_get_contents('http://www.netip.de/search?query=' . $ip);
if (empty($response))
{
throw new InvalidArgumentException("Error contacting Geo-IP-Server");
}
//Array containing all regex-patterns necessary to extract ip-geoinfo from page
$patterns = array();
$patterns["town"] = '#City: (.*?)<br#i';
//Array where results will be stored
$ipInfo = array();
//check response from ipserver for above patterns
foreach ($patterns as $key => $pattern)
{
//store the result in array
$ipInfo[$key] = preg_match($pattern, $response, $value) && !empty($value[1]) ? $value[1] : 'not found';
}
/* I've included the substr function for Country to exclude the abbreviation (UK, US, etc..)
To use the country abbreviation, simply modify the substr statement to:
substr($ipInfo["country"], 0, 3)
*/
$ipdata = $ipInfo["town"];
return $ipdata;
}
geoCheckIP('50.56.112.226');
For more dinformation and send me comments.
Getting Client IP using PHP
To track the client location we need the ip address of the user machine/ mobile device. As PHP is a Server side script we can easilly track the user/client ip address using the bellow php function.
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
//check ip from share internet
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
//to check ip is pass from proxy
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ip = getRealIpAddr();
For feedback , leave me comments.
Fetching the images based on screen resolution
      One  of the  main  issues in the  mobile web  application  is to  fetch  the  images  based on the  mobile  screen  resolution .  There  are  different  method to fetch  the  images  but  im here explain,   fetching the  image  based on the  screen  resolution.   Normally in the android  mobile  we  will  calculate the DPI(density per  inches) and  in the  iphone PPI(pixel per inches) . Here  im  taking the  screen  resolution.
function getResolution()
{
window.imagePath ='';
//get screen resolution of customer
var custHeight = screen.height;
var custWidth = screen.width;
//if the screed width less then screen height
if( custWidth < custHeight)
{
if (custWidth <= 320)
{
window.imagePath = 'drawable-mdpi';
}
else if (custWidth <= 480)
{
window.imagePath = 'drawable-hdpi';
}
else
{
window.imagePath = 'drawable-xhdpi';
}
}
else
{
//else if the screed width greater then screen height
if (custWidth <= 480)
{
window.imagePath = 'drawable-mdpi';
}
else if (custWidth <= 600)
{
window.imagePath = 'drawable-hdpi';
}
else
{
window.imagePath = 'drawable-xhdpi';
}
}
}
Just call the getResolution() method when the page first loads. then use the window.imagePath anywhere in your application. window.imagePath is the global varible here.
This post will really help you. For feed back leave me comments.
function getResolution()
{
window.imagePath ='';
//get screen resolution of customer
var custHeight = screen.height;
var custWidth = screen.width;
//if the screed width less then screen height
if( custWidth < custHeight)
{
if (custWidth <= 320)
{
window.imagePath = 'drawable-mdpi';
}
else if (custWidth <= 480)
{
window.imagePath = 'drawable-hdpi';
}
else
{
window.imagePath = 'drawable-xhdpi';
}
}
else
{
//else if the screed width greater then screen height
if (custWidth <= 480)
{
window.imagePath = 'drawable-mdpi';
}
else if (custWidth <= 600)
{
window.imagePath = 'drawable-hdpi';
}
else
{
window.imagePath = 'drawable-xhdpi';
}
}
}
Just call the getResolution() method when the page first loads. then use the window.imagePath anywhere in your application. window.imagePath is the global varible here.
This post will really help you. For feed back leave me comments.
Hidding the Address Bar in Mobile Browser
All Mobile web application need address bar hiding option, becuase basically mobile screens are very small in size compared to the Desktop.
Use bellow to code to hide the address. It may help you to solve the other sort of challenges.
function hideAddressBar()
{
if(!window.location.hash)
{
if(document.height < window.outerHeight)
{
document.body.style.height = (window.outerHeight + 50) + 'px';
}
setTimeout( function(){ window.scrollTo(0, 1); }, 200 );
setInterval("hideAddressBar()", 6000);
}
}
Use the code and call function hideAddressBar(); whenever you required to hide the address bar.
hope, It may help you. If you have any query leave me comments.
Subscribe to:
Comments (Atom)
 
