CheckIP 1.2.1 (stable)
http://pear.php.net/package/Net_CheckIP
CheckIP2 1.0.0RC2 (beta)
http://pear.php.net/package/Net_CheckIP2
Pear公式に登録されているPearパッケージは現時点で500ちょいですが、その中で最も役に立たないライブラリはどれかと言われたら、私はCheckIPを挙げます。
まあ、とりあえず使ってみましょう。
checkip.php
1
2
3
4
5
6
7
8
|
require_once('Net/CheckIP.php');
$ret[]=Net_CheckIP::check_ip('192.168.0.1');
$ret[]=Net_CheckIP::check_ip('192.168.0.256');
var_dump($ret);
|
何をやっているかというと、IPアドレスが正しい形式かどうかチェックしています。
正しい形式というのがどの程度の正しさかというと、別に到達可能性をチェックしているわけでもなければIPv6に対応しているわけでもなくサブネットすら考慮しない、単なる形としてのIPアドレスです。
中身を見てみると.でexolodeして各値が0~255の間かチェックしてました。
で、数値のチェックにpreg_matchを使っていましたが、だったら最初から一発ですりゃいいのに。
そもそも標準関数だけで簡単に出来てしまうことをPear化する意味がわからない。
さて、あまりにしょっぱい内容だったせいかCheckIP2という後継パッケージが出ました。
今回はIPv6対応なんだろうな、IPv6の正規表現は確かに省略とかあって面倒だからなあ
checkip2.php
1
2
3
4
5
6
7
8
|
require_once('Net/CheckIP2.php');
$ret[]=Net_CheckIP2::check_ip('192.168.0.1');
$ret[]=Net_CheckIP2::check_ip('192.168.1.256');
var_dump($ret);
|
あれ?IPv6は?
>A package to determine if an IP (v4) is valid.
中を見てみたところ、コンストラクタと修飾子がくっついた以外全く同じでした。
なんだこれ。
PR
トラックバック
トラックバックURL: