ホームページ >バックエンド開発 >PHPチュートリアル >PHPでIPアドレスを取得する6つの方法
この記事では主に PHP で IP アドレスを取得する 6 つの方法を紹介します。興味のある方はぜひ参考にしてください。
おすすめマニュアル: php完全独学マニュアル
コード1:
function getip() { static $ip = ''; $ip = $_SERVER['REMOTE_ADDR']; if(isset($_SERVER['HTTP_CDN_SRC_IP'])) { $ip = $_SERVER['HTTP_CDN_SRC_IP']; } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) { foreach ($matches[0] AS $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } return $ip; }
おすすめ関連記事:
1.phpでユーザーのIPアドレスを取得する方法
2.php はどのようにしてクライアントの IP アドレスを取得しますか?
関連ビデオの推奨:
1.Dugu Jiijian (4)_PHP ビデオ チュートリアル
コード 2:
<?php error_reporting (E_ERROR | E_WARNING | E_PARSE); if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){ $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; } elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){ $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; } elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){ $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; } elseif (getenv("HTTP_X_FORWARDED_FOR")){ $ip = getenv("HTTP_X_FORWARDED_FOR"); } elseif (getenv("HTTP_CLIENT_IP")){ $ip = getenv("HTTP_CLIENT_IP"); } elseif (getenv("REMOTE_ADDR")){ $ip = getenv("REMOTE_ADDR"); } else{ $ip = "Unknown"; } echo $ip; ?>
方法 3:
<?php $iipp = $_SERVER["REMOTE_ADDR"]; echo $iipp ; ?>
方法 4:
<?php $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]; echo $user_IP ?>
方法 5:
<?php function get_real_ip() { $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_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(); ?>
方法 6:
<?php 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; ?>
概要: 以上がこの記事の全内容となりますが、皆様の学習のお役に立てれば幸いです。
関連する推奨事項:
指定されたサフィックス ファイルの PHP 実装バッチ アップロード機能
以上がPHPでIPアドレスを取得する6つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。