程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取IP地址輸出為數組程序代碼

PHP獲取IP地址輸出為數組程序代碼

編輯:關於PHP編程

在php中獲取IP地址的方法有很多種,下面我介紹利用linux命令獲取IP地址然後轉換成數組輸出,下面也介紹了一些常用關於php ip地址處理實例。

PHP獲取服務器IP地址

用PHP執行ifconfig獲得Linux服務器IP並輸出為數組,下面是代碼:

 代碼如下 復制代碼

<?php
function getServerIp(){ //用ifconfig讀取服務器IP並輸出為數組
  $ss = exec('/sbin/ifconfig | sed -n 's/^ *.*addr:\([0-9.]\{7,\}\) .*$/\1/p'',$arr);
  return $arr;
  }
$ips=getServerIp();
 
foreach($ips as $k=>$v){//過濾IP
 if(substr($v,0,3)=='127' || substr($v,0,3)=='10.' || substr($v,0,7)=='192.168' || substr($v,0,6)=='172.16'){
  unset($ips[$k]);
 }
}
shuffle($ips);//重新排序
print_r($ips);
?>

一些php獲取ip地址例

 代碼如下 復制代碼

<?php
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  $cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
  $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
  $cip = $_SERVER["REMOTE_ADDR"];
}
else{
  $cip = "無法獲取!";
}
return $cip;
}
echo GetIP();
?>

我這裡有一個比較公用的方法來獲取用戶ip地址:

 

 代碼如下 復制代碼 function get_user_ip() {
        if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }

PHP獲取IP所在地區(調用新浪API獲取IP所在地)

 

 代碼如下 復制代碼 function get_location($ip){
 $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);
 $location = curl_exec($curl);
        $location = json_decode($location);
        if($location===FALSE) return "";
        return empty($location->desc) ? $location->province.$location->city.$location->district.$location->isp : $location->desc;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved