PHP得到公网IP和所在城市的代码虽然网上有一些,但还是不完整,自已做了一些修改。准备做一个家庭用的BS程序,放在这里备用
function the_public_ip() {//得到公网IP地址
$getlink = curl_init();curl_setopt($getlink, CURLOPT_URL, "http://city.ip138.com/ip2city.asp");
curl_setopt($getlink, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($getlink, CURLOPT_HEADER, 0);
$ip_str = curl_exec($getlink);
preg_match('/\[(.*)\]/', $ip_str, $public_ip);
curl_close($getlink);
return $public_ip[1];
}
function the_cn_city() {//得到所在地区(地市级单位)
$getlink = curl_init();
curl_setopt($getlink, CURLOPT_URL, "http://1212.ip138.com/ic.asp");
curl_setopt($getlink, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($getlink, CURLOPT_HEADER, 0);
$get_str = iconv("GB2312", "UTF-8", curl_exec($getlink));
preg_match('/].*:(.*)\040/', $get_str, $the_location);
curl_close($getlink);
return $the_location[1];
}