ip binary
Even een vraagje,
Hoe maak ik een ip in php Binary Octets? dus een calculator
Hoe maak ik een ip in php Binary Octets? dus een calculator
Gewijzigd op 28/09/2010 15:27:24 door Daniel Elders
Geen idee wat je bedoeld.
decoct().
decoct().
bedoel hoe je van een ip adres daar een binary van maakt dus met 0en en 1en
decbin().
Code (php)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
function ipToBin($ip) {
// De stukjes
$parts = explode('.', $ip);
// Maak van elk stukje een hex (ip heeft voor elk stukje een max van 255, dus 2 karakters in hex
$parts = array_map('dechex', $parts);
// Maak van een string van 1 karakter 1 van 2 karakters
$pad = function($str) { return str_pad($str, 2, '0', STR_PAD_LEFT); };
$parts = array_map($pad, $parts);
// Maak er 1 hex van
$hex = implode('', $parts);
// En converteer die naar bin
return base_convert($hex, 16, 2);
}
function binToIp($bin) {
$hex = base_convert($bin, 2, 16);
$parts = str_split($hex, 2);
$parts = array_map('hexdec', $parts);
return implode('.', $parts);
}
?>
function ipToBin($ip) {
// De stukjes
$parts = explode('.', $ip);
// Maak van elk stukje een hex (ip heeft voor elk stukje een max van 255, dus 2 karakters in hex
$parts = array_map('dechex', $parts);
// Maak van een string van 1 karakter 1 van 2 karakters
$pad = function($str) { return str_pad($str, 2, '0', STR_PAD_LEFT); };
$parts = array_map($pad, $parts);
// Maak er 1 hex van
$hex = implode('', $parts);
// En converteer die naar bin
return base_convert($hex, 16, 2);
}
function binToIp($bin) {
$hex = base_convert($bin, 2, 16);
$parts = str_split($hex, 2);
$parts = array_map('hexdec', $parts);
return implode('.', $parts);
}
?>
Volgens mij is dit de beste manier
Gewijzigd op 28/09/2010 17:35:51 door Pim -
Oh die van mij doet het binair. Wat zijn binary octets? Gewoon een acht-tallig getal?
voor ip6 adressen is base_convert niet toereikend (grote getallen worden afgerond) en heb je dus een gmp libary nodig (of je moet base_convert herschrijven wat ik ooit heb gedaan om berekeningen op ip adressen uit te voeren)
Pim de Haan op 28/09/2010 17:04:50:
Oh die van mij doet het binair. Wat zijn binary octets? Gewoon een acht-tallig getal?
Ja.
octet is base-8
Dan zo, achttallig
Code (php)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
function ipToOct($ip) {
// De stukjes
$parts = explode('.', $ip);
// Maak van elk stukje een hex (ip heeft voor elk stukje een max van 255, dus 2 karakters in hex
$parts = array_map('dechex', $parts);
// Maak van een string van 1 karakter een van 2 karakters
$pad = function($str) { return str_pad($str, 2, '0', STR_PAD_LEFT); };
$parts = array_map($pad, $parts);
// Maak er 1 hex van
$hex = implode('', $parts);
// En converteer die naar oct
return base_convert($hex, 16, 8);
}
function octToIp($oct) {
$hex = base_convert($oct, 8, 16);
$parts = str_split($hex, 2);
$parts = array_map('hexdec', $parts);
return implode('.', $parts);
}
?>
function ipToOct($ip) {
// De stukjes
$parts = explode('.', $ip);
// Maak van elk stukje een hex (ip heeft voor elk stukje een max van 255, dus 2 karakters in hex
$parts = array_map('dechex', $parts);
// Maak van een string van 1 karakter een van 2 karakters
$pad = function($str) { return str_pad($str, 2, '0', STR_PAD_LEFT); };
$parts = array_map($pad, $parts);
// Maak er 1 hex van
$hex = implode('', $parts);
// En converteer die naar oct
return base_convert($hex, 16, 8);
}
function octToIp($oct) {
$hex = base_convert($oct, 8, 16);
$parts = str_split($hex, 2);
$parts = array_map('hexdec', $parts);
return implode('.', $parts);
}
?>
Gewijzigd op 28/09/2010 21:39:57 door Pim -
Hartelijk bedankt
(reactie verstuurt via mobiel)
(reactie verstuurt via mobiel)
Gewijzigd op 28/09/2010 21:29:26 door Daniel Elders




