ipv4-adres-compressor

Gesponsorde koppelingen

PHP script bestanden

  1. ipv4-adres-compressor

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
//Functie die IPv4 adres omzet in string van 4 8bits tekens.
//Sla zijn uitvoer op in MySQL database als CHAR(4): een CHAR met een vaste grootte van 4 tekens.

function ipv4_encode($ip) {
    $ip=explode(".",$ip);
    return chr($ip[0]).chr($ip[1]).chr($ip[2]).chr($ip[3]);
}


//Functie die een 4x8bits gecomprimeert IPv4 adres terugzet in een geldig IPv4 adres
function ipv4_decode($ip) {
    return ord($ip[0]).'.'.ord($ip[1]).'.'.ord($ip[2]).'.'.ord($ip[3]);
}

?>


EDIT:
ik heb nu dezelfde functies voor binair.

In dit geval wordt een IP omzet in een 32bits lange string van 1en en 0en. Zie maar wat je ermee doet. Omdat ik de MySQL database functie nog niet heb gevonden, gebruik ik em om IP's op te slaan als BINAIR(32) in mn database. Je kan ze toch niet verder comprimeren dan 32bits, hoeveel functies MySQL ook ingebouwd heeft.

nogmaals: kijk maar wat je ermee doet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
//functie die een IP (voorbeeld: 127.0.0.1) omzet in een 32bits binaire string. Bestaat altijd uit 32 1en en 0en.
function ip_to_bin($ip) {
    $ip=explode('.',$ip);
    return decbin_fix($ip[0],8).decbin_fix($ip[1],8).decbin_fix($ip[2],8).decbin_fix($ip[3],8);
}


//functie die een 32bits binaire string omzet in een IP als '127.0.0.1'.
function ip_from_bin($ip) {
    $ip=str_split($ip,8);
    return bindec($ip[0]).'.'.bindec($ip[1]).'.'.bindec($ip[2]).'.'.bindec($ip[3]);
}


//functie die een 32bits binaire string omzet in een pre-formatted IP als '127.  0.  0.  1'.
//Bij deze functie neemt een IP altijd 15 tekens in waarbij getallen bestaande uit minder dan 3 cijfers opgevult worden met NON_BREAKING_SPACES (&nbsp;).
//Te gebruiken met een font-family als 'courier new'. Met deze functie kan je vele ip adressen overzichtelijk onder elkaar plaatsen.

function pre_ip_from_bin($ip) {
    $ip=str_split($ip,8);
    return bindec_fix($ip[0],3).'.'.bindec_fix($ip[1],3).'.'.bindec_fix($ip[2],3).'.'.bindec_fix($ip[3],3);
}


//hulpfunctie voor pre_ip_from_bin(). Zet een 8bits binair getal om in een getal van 0 tot 255 en vult deze aan met &nbsp;.
function bindec_fix($int,$length) {
    return str_replace(' ','&nbsp;',str_pad(bindec($int),$length,' ',STR_PAD_LEFT));
}


//hulpfunctie voor ip_to_bin(). Zet een int (getal) van 0 tot 255 om in een 8 bits binair getal. Hierbij wordt het binaire getal links opgevult met 0-en om zo zn 8 bits lengte te behouden.
function decbin_fix($int,$length) {
    return str_pad(decbin($int),$length,'0',STR_PAD_LEFT);
}

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.