-
-
/** - * クライアント IP を取得します
- * @return [string] [description]
- */
- function getclientip() {
- $ip = null;
- 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 = トリム($arr[0]);
- }elseif (isset($_server['http_client_ip'])) {
- $ip = $_server['http_client_ip'];
- }elseif (isset( $_server['remote_addr'])) {
- $ip = $_server['remote_addr'];
- }
- // ip地址合法验证
- $ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';
- return $ip;
- }
/**
- * オンライン IP を取得
- * @return string
- */
- function getonlineip($format=0) {
- global $s_global;
- if(empty($s_global['onlineip'])) {
- if(getenv('http_client_ip') && strcasecmp(getenv('http_client_ip'), 'unknown')) {
- $onlineip = getenv('http_client_ip');
- } elseif(getenv('http_x_forwarded_for') && strcasecmp(getenv('http_x_forwarded_for'), 'unknown')) {
- $onlineip = getenv('http_x_forwarded_for');
- } elseif(getenv('remote_addr') && strcasecmp( getenv('remote_addr'), 'unknown')) {
- $onlineip = getenv('remote_addr');
- } elseif(isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($ _server['remote_addr'], 'unknown')) {
- $onlineip = $_server['remote_addr'];
- }
- preg_match("/[d.]{7,15}/", $onlineip, $onlineipmatches) ;
- $s_global['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
- }
if($format) {
- $ips =explode('.', $s_global['onlineip']);
- for( $i=0;$i$ips[$i] = intval($ips[$i]);
- }
- return sprintf('%03d%03d%03d', $ips[ 0], $ips[1], $ips[2]);
- } else {
- return $s_global['onlineip'];
- }
- }
-
复制代
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 取得地理的位置の例参考
|