ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで IP アドレスを 10 進数に変換する方法

PHP_PHP チュートリアルで IP アドレスを 10 進数に変換する方法

WBOY
WBOYオリジナル
2016-07-21 14:53:16993ブラウズ

PHPでIPアドレスを10進数に変換するには? 最近PHPでIPアドレスがよく使われますが、IPアドレスが10進数で取得できません。したがって、PHP で IP アドレスを 10 進数に変換する方法は私たちにとって頭の痛い問題です。次の 2 つの方法は、IP アドレスを 10 進数に変換するために私がまとめた比較的簡単な方法です。それが私たちを助けることができることを願っています。

方法 1:

コードは次のとおりです

パブリック関数 ipToLong(){

$ip = $_SERVER['REMOTE_ADDR'];

$ip =explode('.', $ip);

$ip = array_reverse($ip);//配列の反転

$r = 0;

for($i=0,$j=count($ip); $i

$r += $ip[$i] * pow(256, $i);

}

$r = sprintf("%u", $r);

エコー$r;

}

方法 2:

コードは次のとおりです

パブリック関数 ipToLong(){

$ip = $_SERVER['REMOTE_ADDR'];

$ip =explode('.',$ip);

$r = ($ip[0] if($r

エコー $r ;

}

ローカルサーバーでの両方の結果は 3232235877 で、使用される IP は 192.168.1.101 です。 ping 192.168.1.101 と ping 3232235877 を使用して、それらが同じかどうかを確認します。

mysql と php の両方が IP 変換 10 進数関数を提供していることを知らない友人もいるかもしれません

MySQL は、アドレスと整数の間で変換するために、INET_ATON と INET_NTOA という 2 つの関数を提供します。

1. IPはドット形式からデジタル形式に変換されます。

コードは次のとおりです

mysql> select inet_aton('127.0.0.1');

+-------------------------------------+

| inet_aton('127.0.0.1') |

+---------------------+

| 2130706433 |

+---------------------+

セット内1行(0.00秒)

2. IPはデジタル形式からドット形式に変換されます。

コードは次のとおりです

mysql> select inet_ntoa(2130706433);

+----------------------+

| inet_ntoa(2130706433) |

+----------------------+

| 127.0.0.1 |

+----------------------+

セット内1行(0.00秒)

PHPはip2long関数を直接利用できます

コードは次のとおりです

echo ip2long('192.168.1.38');

出力: 3232235814

http://www.bkjia.com/PHPjc/371387.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/371387.html技術記事 PHPでIPアドレスを10進数に変換するにはどうすればよいですか? 最近PHPではIPアドレスがよく使われますが、IPアドレスが10進数で取得できません。それでは、PHPでIPアドレスを使用する方法...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。