PHP基于新浪IP庫獲取IP詳細(xì)地址的方法
本文實(shí)例講述了PHP基于新浪IP庫獲取IP詳細(xì)地址的方法。分享給大家供大家參考,具體如下:
<?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地址類使用實(shí)例
<?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ò)計(jì)算器|TCP/IP子網(wǎng)掩碼計(jì)算與換算工具:
http://tools.jb51.net/aideddesign/ipcalc
在線IP地址/子網(wǎng)掩碼計(jì)算與轉(zhuǎn)換工具:
http://tools.jb51.net/aideddesign/ip_net_calc
在線子網(wǎng)掩碼換算與網(wǎng)絡(luò)計(jì)算工具:
http://tools.jb51.net/aideddesign/network_calc
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php文件操作總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php讀取torrent種子文件內(nèi)容的方法(測試可用)
- PHP批量獲取網(wǎng)頁中所有固定種子鏈接的方法
- PHP程序中的文件鎖、互斥鎖、讀寫鎖使用技巧解析
- php讀取二進(jìn)制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)的深入解析
- PHP文件鎖定寫入實(shí)例解析
- PHP實(shí)現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法
- php正則提取html圖片(img)src地址與任意屬性的方法
- php讀取qqwry.dat ip地址定位文件的類實(shí)例代碼
- THinkPHP獲取客戶端IP與IP地址查詢的方法
- php進(jìn)行ip地址掩碼運(yùn)算處理的方法
- PHP基于閉包思想實(shí)現(xiàn)的BT(torrent)文件解析工具實(shí)例詳解
相關(guān)文章
php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
這篇文章主要介紹了php的圖片處理實(shí)現(xiàn)代碼,包括縮放、剪裁、縮放、翻轉(zhuǎn)、旋轉(zhuǎn)、透明、銳化等圖片操作,需要的朋友可以參考下2013-07-07實(shí)現(xiàn)dedecms全站URL靜態(tài)化改造的代碼
實(shí)現(xiàn)dedecms全站URL靜態(tài)化改造的代碼...2007-03-03php更改目錄及子目錄下所有的文件后綴擴(kuò)展名的代碼
今天遇到要改變當(dāng)前目錄下指定類型的文件類型,本來想要用批處理來做這個(gè),結(jié)果沒找到合適。就自己去查了下資料,用Php來處理一下。2010-10-10WordPress中登陸后關(guān)閉登陸頁面及設(shè)置用戶不可見欄目
這篇文章主要介紹了WordPress中登陸后關(guān)閉登陸頁面及設(shè)置用戶不可見欄目的方法,是多用戶模式下比較實(shí)用的兩個(gè)功能,需要的朋友可以參考下2015-12-12利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問的函數(shù)示例
在平常工作開發(fā)中,我們通常需要開發(fā)出PC端和移動(dòng)端兩個(gè)不同的系統(tǒng),從而根據(jù)訪問端的不同進(jìn)入到不同的操作界面中。下面這篇文章主要給大家介紹了關(guān)于利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問的函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-12-12PHP laravel使用自定義郵件類實(shí)現(xiàn)發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了PHP laravel如何通過自定義郵件類實(shí)現(xiàn)發(fā)送郵件功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-10-10