ホームページ  >  記事  >  バックエンド開発  >  PHPで外部ネットワークの実際のIPを取得する2つの方法

PHPで外部ネットワークの実際のIPを取得する2つの方法

WBOY
WBOYオリジナル
2016-07-25 09:04:112629ブラウズ
  1. function get_onlineip() {
  2. $ch =curl_init('http://www.ip138.com/ip2city.asp');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  4. $a =curl_exec($ch);
  5. preg_match('/[(.*)]/', $a, $ip);
  6. return $ip[1];
  7. }
  8. ?>
复制代

方法2:$_SERVER['HTTP_X_FORWARDED_FOR']を使用する

  1. function get_onlineip() {
  2. $onlineip = '';
  3. if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  4. $ onlineip = getenv('HTTP_CLIENT_IP');
  5. } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  6. $onlineip = getenv('HTTP_X_FORWARDED_FOR');
  7. } elseif( getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  8. $onlineip = getenv('REMOTE_ADDR');
  9. } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER ['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  10. $onlineip = $_SERVER['REMOTE_ADDR'];
  11. }
  12. return $onlineip;
  13. }
  14. ?>
复制代コード


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。