ホームページ  >  記事  >  バックエンド開発  >  オンラインIPとクライアントIPを取得するPHP関数

オンラインIPとクライアントIPを取得するPHP関数

WBOY
WBOYオリジナル
2016-07-25 08:54:031296ブラウズ
  1. /**

  2. * クライアント IP を取得します
  3. * @return [string] [description]
  4. */
  5. function getclientip() {
  6. $ip = null;
  7. if (isset($_server['http_x_forwarded_for'])) {
  8. $arr =explode(',', $_server['http_x_forwarded_for']);
  9. $pos = array_search('unknown',$arr);
  10. if(false !== $pos) unset($arr[$pos] ]);
  11. $ip = トリム($arr[0]);
  12. }elseif (isset($_server['http_client_ip'])) {
  13. $ip = $_server['http_client_ip'];
  14. }elseif (isset( $_server['remote_addr'])) {
  15. $ip = $_server['remote_addr'];
  16. }
  17. // ip地址合法验证
  18. $ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';
  19. return $ip;
  20. }

  21. /**

  22. * オンライン IP を取得
  23. * @return string
  24. */
  25. function getonlineip($format=0) {
  26. global $s_global;
  27. if(empty($s_global['onlineip'])) {
  28. if(getenv('http_client_ip') && strcasecmp(getenv('http_client_ip'), 'unknown')) {
  29. $onlineip = getenv('http_client_ip');
  30. } elseif(getenv('http_x_forwarded_for') && strcasecmp(getenv('http_x_forwarded_for'), 'unknown')) {
  31. $onlineip = getenv('http_x_forwarded_for');
  32. } elseif(getenv('remote_addr') && strcasecmp( getenv('remote_addr'), 'unknown')) {
  33. $onlineip = getenv('remote_addr');
  34. } elseif(isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($ _server['remote_addr'], 'unknown')) {
  35. $onlineip = $_server['remote_addr'];
  36. }
  37. preg_match("/[d.]{7,15}/", $onlineip, $onlineipmatches) ;
  38. $s_global['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
  39. }

  40. if($format) {

  41. $ips =explode('.', $s_global['onlineip']);
  42. for( $i=0;$i$ips[$i] = intval($ips[$i]);
  43. }
  44. return sprintf('%03d%03d%03d', $ips[ 0], $ips[1], $ips[2]);
  45. } else {
  46. return $s_global['onlineip'];
  47. }
  48. }

复制代

php获取远程客户端真实ip地址 php 内ネットワーク机でパブリックネットワーク IP を取得する方法 php读取真ipデータベース库の简单例 PHP で本体のローカルドメイン ネットワーク IP アドレスを取得する方法 PHP获取ローカルドメインネットワーク中コンピューター名、IPアドレスとMACアドレス PHP IP アドレスを取得するさまざまな方法 PHP は IP 経由で地理的位置を取得します PHP获取指定のIPネットワークセグメント情報 php IP获取城市API(纯真IPデータベース库) php获取真实ip地址の实例分享 探索:PHP取得ドメイン名およびドメイン名IPアドレスの方法 php 経由 IP 取得地理的位置の例参考



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