php-ip-tools – скрипт для манипуляции с ip адресами

Пример использования

<?php
$loader = require __DIR__.'/vendor/autoload.php';

use Longman\\IPTools\\Ip;

// Валидация
$status = Ip::isValid('192.168.1.1'); // true
$status = Ip::isValid('192.168.1.256'); // false

// ip2long, long2ip
/// IPv4
$long = Ip::ip2long('192.168.1.1'); // 3232235777
$dec = Ip::long2ip('3232235777'); // 192.168.1.1
/// IPv6
$long = Ip::ip2long('fe80:0:0:0:202:b3ff:fe1e:8329'); // 338288524927261089654163772891438416681
$dec = Ip::long2ip('338288524927261089654163772891438416681', true); // fe80::202:b3ff:fe1e:8329

// Сопоставление
/// IPv4
$status = Ip::match('192.168.1.1', '192.168.1.*'); // true
$status = Ip::match('192.168.1.1', '192.168.*.*'); // true
$status = Ip::match('192.168.1.1', '192.168.*.*'); // true
$status = Ip::match('192.168.1.1', '192.168.0.*'); // false
$status = Ip::match('192.168.1.1', '192.168.1/24'); // true
$status = Ip::match('192.168.1.1', '192.168.1.1/255.255.255.0'); // true
$status = Ip::match('192.168.1.1', '192.168.0/24'); // false
$status = Ip::match('192.168.1.1', '192.168.0.0/255.255.255.0'); // false
$status = Ip::match('192.168.1.5', '192.168.1.1-192.168.1.10'); // true
$status = Ip::match('192.168.5.5', '192.168.1.1-192.168.10.10'); // true
$status = Ip::match('192.168.5.5', '192.168.6.1-192.168.6.10');
$status = Ip::match('192.168.1.1', array('122.128.123.123', '192.168.1.*', '192.168.123.124')); // true
$status = Ip::match('192.168.1.1', array('192.168.123.*', '192.168.123.124'));
/// IPv6
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:3257:*'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:*:*'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652',
                    '2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:9999'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3258:9652', '2001:cdba:0000:0000:0000:0000:3257:*'); // false
$status = Ip::match('2001:cdba:0000:0000:0000:1234:3258:9652', '2001:cdba:0000:0000:0000:0000:*:*'); // false
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:7778',
                    '2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:7777'); // false
0 comments
  1. 212
    212
    15.12.2015 at 09:32

    Спасибо!
    Вот хорошая тема для публикации: http://gridster.net/

    Reply
  2. Игорь
    Игорь
    15.12.2015 at 10:05

    Благодарю. Будет попозже)

    Reply
Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *