首頁 >後端開發 >php教程 >PHP不需要IP函式庫,取得城市名稱來使用! php轉義字元的使用 護衛神php套件使用 php來源碼使

PHP不需要IP函式庫,取得城市名稱來使用! php轉義字元的使用 護衛神php套件使用 php來源碼使

WBOY
WBOY原創
2016-07-29 08:54:131099瀏覽

在最近一次二次開發中,需要開發當前城市進入自動選擇,所以想了下辦法使用PHP無需IP庫,獲取城市名來使用!
    獲取用戶城市資訊可以使用純真IP庫也可以的,只不過我目前開發的好像美團哪樣的城市進入功能,好像IP庫直接用不上
    所以我們只能小偷一下別人的ip庫資訊了..
      外部IP庫資訊取得我暫時提供兩個,比較穩定
新浪介面位址:http://int.dpool.sina.com.cn/iplookup/iplookup.php
淘寶API介面:http://ip.taobao.com/service/getIpInfo.php?ip=125.73.111.159
我們要取得上面的其中一個外部IP城市庫資訊

   使用PHP的file_get_contents 來取得

<span style="font-size:18px;">//php脚本开始
	//PHP返回客户端IP,还不错
	function GetIP(){
	if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
	$ip = getenv("HTTP_CLIENT_IP");
	else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
	$ip = getenv("HTTP_X_FORWARDED_FOR");
	else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
	$ip = getenv("REMOTE_ADDR");
	else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
	$ip = $_SERVER['REMOTE_ADDR'];
	else
	$ip = "unknown";
	return($ip);
	}
	//如果是本地IP,将无法测试,如要测试,开启下面的代码就会返回我的IP
	/**/
	function GetIPs(){return '125.73.111.159';}
	/**/
	//远程城市数据返回点
	$filename = "http://ip.taobao.com/service/getIpInfo.php?ip=".GetIPs();
	//使用file_get_contents返回json数据,确认程序是否开启file_get_contents
	$json = json_decode(file_get_contents($filename));
	//转换编码,不然会乱码
	$city=iconv("utf-8","gb2312",$json->data->city);
	//打印城市
	 
	echo $city;
	//到这里我们就可以使用SQL查询与数据库的城市进行匹配了,返回我们需要的城市</span>

  如此
http://www.12345t.com/code/php/20130819/70.html

以上就介紹了PHP無需IP庫,獲取城市名來使用!,包括了php,使用方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn