ホームページ >php教程 >php手册 >thinkphp がクライアント IP を取得する方法、thinkphp が IP を取得する方法

thinkphp がクライアント IP を取得する方法、thinkphp が IP を取得する方法

WBOY
WBOYオリジナル
2016-06-16 09:16:181744ブラウズ

thinkphp がクライアント IP を取得する方法、thinkphp が ip を取得する方法

thinkphp フレームワークでは、システムにはクライアントの IP アドレスを取得するための get_client_ip メソッドが組み込まれています。使用例:
$ip = get_client_ip();
thinkphp の組み込み get_client_ip 関数に加えて、次の関数を使用してクライアント IP アドレスを取得することもできます。
$type は戻り値のタイプを示します。0 は IP アドレスを返し、1 は IPV4 アドレス番号を返します
次のようにコードを共有します

function get_client_ip($type = 0) {
  $type    = $type ? 1 : 0;
  static $ip =  NULL;
  if ($ip !== NULL) return $ip[$type];
  if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $arr  =  explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    $pos  =  array_search('unknown',$arr);
    if(false !== $pos) unset($arr[$pos]);
    $ip   =  trim($arr[0]);
  }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
    $ip   =  $_SERVER['HTTP_CLIENT_IP'];
  }elseif (isset($_SERVER['REMOTE_ADDR'])) {
    $ip   =  $_SERVER['REMOTE_ADDR'];
  }
  // IP地址合法验证
  $long = ip2long($ip);
  $ip  = $long ? array($ip, $long) : array('0.0.0.0', 0);
  return $ip[$type];

この記事が皆さんにとって PHP プログラミングについてもっと学ぶのに役立つことを願っています。

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