PHP基于新浪IP庫獲取IP詳細地址的方法
本文實例講述了PHP基于新浪IP庫獲取IP詳細地址的方法。分享給大家供大家參考,具體如下:
<?php class Tool{ /** * 獲取IP的歸屬地( 新浪IP庫 ) * * @param $ip String IP地址:112.65.102.16 * @return Array */ static public function getIpCity($ip) { $ip = preg_replace("/\s/","",preg_replace("/\r\n/","",$ip)); $link = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$ip."&t=".time(); $ipJson = self::httpCurl($link); preg_match("/\"country\":\"(.*)\"/Uis",$ipJson, $match1); preg_match("/\"province\":\"(.*)\"/Uis",$ipJson, $match2); preg_match("/\"city\":\"(.*)\"/Uis",$ipJson, $match3); return array( 'country'=>self::ucode2zh($match1[1]), // 國家 'province'=>self::ucode2zh($match2[1]), // 省 'city'=>self::ucode2zh($match3[1]) // 城市 ); } /** * Curl方式獲取信息 */ static public function httpCurl($url) { $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1); curl_setopt($curl_handle, CURLOPT_FAILONERROR,1); $file_content = curl_exec($curl_handle); curl_close($curl_handle); return $file_content; } /** * 將unicode編碼轉(zhuǎn)化為中文,轉(zhuǎn)化失敗返回原字符串 * * @param $code String unicode編碼 * @return String */ static public function ucode2zh($code) { $temp = explode('\u',$code); $rslt = array(); array_shift($temp); foreach($temp as $k => $v) { $v = hexdec($v); $rslt[] = '&#' . $v . ';'; } $r = implode('',$rslt); return empty($r) ? $code : $r; } }
獲取IP地址類使用實例
<?php $ipStr = Tool::getIpCity('112.65.102.16'); print_r($ipStr);
返回結(jié)果
Array ( [country] => 中國 [province] => 上海 [city] => 上海 )
PS:這里再為大家提供幾款I(lǐng)P地址相關(guān)在線工具供大家參考使用:
IP地址歸屬地在線查詢工具:
http://tools.jb51.net/aideddesign/ipcha
在線網(wǎng)絡(luò)計算器|TCP/IP子網(wǎng)掩碼計算與換算工具:
http://tools.jb51.net/aideddesign/ipcalc
在線IP地址/子網(wǎng)掩碼計算與轉(zhuǎn)換工具:
http://tools.jb51.net/aideddesign/ip_net_calc
在線子網(wǎng)掩碼換算與網(wǎng)絡(luò)計算工具:
http://tools.jb51.net/aideddesign/network_calc
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php文件操作總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- php讀取torrent種子文件內(nèi)容的方法(測試可用)
- PHP批量獲取網(wǎng)頁中所有固定種子鏈接的方法
- PHP程序中的文件鎖、互斥鎖、讀寫鎖使用技巧解析
- php讀取二進制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)的深入解析
- PHP文件鎖定寫入實例解析
- PHP實現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法
- php正則提取html圖片(img)src地址與任意屬性的方法
- php讀取qqwry.dat ip地址定位文件的類實例代碼
- THinkPHP獲取客戶端IP與IP地址查詢的方法
- php進行ip地址掩碼運算處理的方法
- PHP基于閉包思想實現(xiàn)的BT(torrent)文件解析工具實例詳解
相關(guān)文章
實現(xiàn)dedecms全站URL靜態(tài)化改造的代碼
實現(xiàn)dedecms全站URL靜態(tài)化改造的代碼...2007-03-03WordPress中登陸后關(guān)閉登陸頁面及設(shè)置用戶不可見欄目
這篇文章主要介紹了WordPress中登陸后關(guān)閉登陸頁面及設(shè)置用戶不可見欄目的方法,是多用戶模式下比較實用的兩個功能,需要的朋友可以參考下2015-12-12利用PHP判斷是手機移動端還是PC端訪問的函數(shù)示例
在平常工作開發(fā)中,我們通常需要開發(fā)出PC端和移動端兩個不同的系統(tǒng),從而根據(jù)訪問端的不同進入到不同的操作界面中。下面這篇文章主要給大家介紹了關(guān)于利用PHP判斷是手機移動端還是PC端訪問的函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-12-12PHP laravel使用自定義郵件類實現(xiàn)發(fā)送郵件
這篇文章主要為大家詳細介紹了PHP laravel如何通過自定義郵件類實現(xiàn)發(fā)送郵件功能,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下2022-10-10