本教程提供幾款獲取IP地址的代碼,各有各的優點,這里獲取用戶ip 是利用php的全局變量實現的,下面來看看有沒有你要找的,php實例代碼如下:
- //最簡單的方法,代碼如下:
- $ip = $_server["remote_addr"];
- echo $ip;
- //最實用獲取用戶ip地址代碼,代碼如下:
- function get_real_ip() {
- $ip=false;
- if(!emptyempty($_server["http_client_ip"]))
- {
- $ip = $_server["http_client_ip"];
- }
- if (!emptyempty($_server['http_x_forwarded_for']))
- {
- $ips = explode (", ", $_server['http_x_forwarded_for']);
- if ($ip) {
- array_unshift($ips, $ip);
- $ip = false;
- }
- for ($i = 0; $i < count($ips); $i++)
- {
- if (!eregi ("^(10|172.16|192.168).", $ips[$i]))
- {
- $ip = $ips[$i];
- break;
- }
- }
- }
- return ($ip ? $ip : $_server['remote_addr']);
- }
- echo get_real_ip();
- //獲取ip地址與端口號,代碼如下:
- $ip =$_server["remote_addr"];
- $port = $_server['remote_port'];
- echo $ip.$port; //開源代碼Vevb.com
- //有一點意思
- 代碼如下 復制代碼
- if(getenv('http_client_ip'))
- {
- $onlineip = getenv('http_client_ip');
- }
- elseif(getenv('http_x_forwarded_for'))
- {
- $onlineip = getenv('http_x_forwarded_for');
- }
- elseif(getenv('remote_addr'))
- {
- $onlineip = getenv('remote_addr');
- }
- else
- {
- $onlineip = $http_server_vars['remote_addr'];
- }
- echo $onlineip;
- echo "
- ";
- //利用qq接口,代碼如下:
- function get_ip_place(){
- $ip=file_get_contents("http://fw.qq.com/ipaddress");
- $ip=str_replace('"',' ',$ip);
- $ip2=explode("(",$ip);
- $a=substr($ip2[1],0,-2);
- $b=explode(",",$a);
- return $b;
- }
- $ip=get_ip_place();
- print_r($ip);
新聞熱點
疑難解答