PHP code example of kseven / ip-tools

1. Go to this page and download the library: Download kseven/ip-tools library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kseven / ip-tools example snippets



    $loader = ools\Ip;

    // Validating
    $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


    // Matching

    /// 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