Ip in HEX umwandeln ?

$number = "deinenummer";

string dechex (int $number)


Diese Funktion liefert eine hexadezimale Representation von number als String zurück. Der größte konvertierbare Wert für number ist dezimal 2147483647, dies entspricht (2 hoch 32)-1 und liefet als Ergebnis den String "7fffffff" zurück.

dürfte probleme mit ips geben :) nnn.nnn.nnn.nnn





Das ganze kannst Du umgehen wenn Du die Zahlenkolonne splittest:



array explode (string separator, string string [, int limit])


Gibt ein Array aus Strings zurück. Jeder String ist ein Teil von string. Die Trennung erfolgt an der mit separator angegebenen Zeichenkette (ein oder mehrere Zeichen). Ist der Parameter limit angegeben, werden maximal limit Teile zurück gegeben. Das letzte Element enthält dann den ganzen Rest von string.

Beispiel 1. explode()-Beispiel:

$pizza = "Teil1 Teil2 Teil3 Teil4 Teil5 Teil6";
$pieces = explode (" ", $pizza);


Dann konvertierst Du die ganzen teile und in hex und setzt die fragmente mit implode() wieder zusammen.


Ein PHP-Funktion um das ganze gleich zu konvertieren ist mir nicht bekannt .. sorry.

Vielleicht ist dies ein Ansatz :-)
 
Blicks nicht ganz ...

Also explode erstellt mir arrays richtig ?

wie kann ich die einzelnen arreys jetzt ausgeben ?
PHP:
$test = explode(" ", "192.168.0.25");

$test2 =$test[was muss hier rein ?];

echo "$test2";

Sorry aber ich kenn mich mit den arrays noch nicht aus ...

Dann hab ich noch das Problem dass die IP's ja nicht immer gleichlang sind z.B 192.168.0.12 & 192.168.121.47 usw...


THX so far..

H-Brock
 
Zuletzt bearbeitet:
Ich habs :)

PHP:
function encode_ip($dotquad_ip)
{
	$ip_sep = explode(".", $dotquad_ip);
	return sprintf("%02x%02x%02x%02x", $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}



$client_ip = $REMOTE_ADDR;

$user_ip = encode_ip($client_ip);

echo "$user_ip";


kann bestimmt mal einer brauchen :)))
 
So geht's auch:
PHP:
function ip2hex($ip)
{
  return dechex(ip2long($ip));
}
Erläuterung:
ip2long verwandelt eine IP-Adresse in einen Zahlenwert vom Typ long.
Und die Funktion von dechex ist ja schon erwähnt worden.


reima
 
Hallo,

tolles script, und wie geht das umgekehrt?
Sprich einen Hex wert in IP umwandeln ?
Danke
 
Hex2ip, hex to ip, hextoip

Schönen Thread hast Du da ausgegraben, gut das ich mittlerweile wesentlich mehr mit PHP anfangen kann ;) ;-)
PHP:
<?php

function hex2ip($hexvalue){
    $teil[] = hexdec(substr($hexvalue,0,2));
    $teil[] = hexdec(substr($hexvalue,2,2));
    $teil[] = hexdec(substr($hexvalue,4,2));
    $teil[] = hexdec(substr($hexvalue,6,2));

    for($i=0;$i<4;$i++){
        if ($i<3){$ipvalue .= $teil[$i].".";} else {
            $ipvalue .= $teil[$i];
        }
    }
    return $ipvalue;
}
// 750c1811 = 117.12.24.17
echo hex2ip("750c1811");


?>
 
Zuletzt bearbeitet:
Zurück