最新消息:

用php根据ip获取地区的方法

Linux admin 4浏览

在很多网站上看到一进来就会显示“欢迎来自XXXX地区的朋友”,这样一句句小小的欢迎,但是给人一种温暖的感觉。对于php来说没这样的功能,但是可以变通一下。先用php获取本机的ip,再用php的curl函数来获取用户的详细地区.下面来看一下代码;
set_time_limit(100);//设置程序运行时间。php默认是60秒。
/* * 这个函数是获取客户端和IP

*

*

*/

function GetIP()

{

if(!empty($_SERVER[“HTTP_CLIENT_IP”]))

{

$cip = $_SERVER[“HTTP_CLIENT_IP”];

}

else if(!empty($_SERVER[“HTTP_X_FORWARDED_FOR”]))

{

$cip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

}

else if(!empty($_SERVER[“REMOTE_ADDR”]))

{

$cip = $_SERVER[“REMOTE_ADDR”];

}

else

{

$cip = ”;

}

preg_match(“/[\d.]{7,15}/”, $cip, $cips);

$cip = isset($cips[0]) ? $cips[0] : ‘unknown’;

unset($cips);

return $cip;

}
下面这个函数是用php的curl函数从网路上获取详细地区
function lazdf($ip){
$curl= curl_init();
curl_setopt($curl,CURLOPT_URL,”http://www.ip138.com/ips138.asp?ip=”.$ip);

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

$ipdz=curl_exec($curl);

curl_close($curl);

preg_match(“/