ip2long

(PHP 4 , PHP 5)

ip2long --  Pontozott IP címet tartalmazó karakterláncot valódi IP cimmé alakít

Leírás

int ip2long ( string ip_cím)

Az ip2long() függvény IPv4 formátumú IP címmé alakítja az ip_cím paraméterben megadott szabványos, pontozott formátumú IP-t. Az IP címek valójában ebben a 4 byteos egész szám formátumban tárolódnak. Ha az ip_cím paraméter nem helyes, a függvény értékeként -1-et kapunk vissza. Vigyázat, a -1-et a PHP nem tekinti FALSE értéknek.

Példa 1. ip2long() Példa

<?php
$ip
= gethostbyname("hu.php.net");
$out = "Az alábbi URL-ek egyenértékűek:<br />\n";
$out .= "http://hu.php.net/, http://" . $ip . "/, és ";
$out .= "http://" . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo
$out;
?>

Megjegyzés: Mivel a PHP előjeles egésszám ábrázolást alkalmaz, és az IP címek negatív számokat eredményezhetnek ezáltal, szükséged lehet a sprintf() vagy printf() függvény "%u" formázó elemére. Ezáltal a megjelenített szám ábrázolása előjel nélküli lesz.

Eme második példa pedig azt mutatja meg, hogy a printf() segítségével hogy tudjuk ez a lekonvertált címet kiíratni:

Példa 2. IP cím kiíratása

<?php
$ip
= gethostbyname("hu.php.net");
$long = ip2long($ip);

if (
$long === -1) {
    echo
'Helytelen paraméter.';
} else {
    echo
$ip .   "\n";              // 192.0.34.166
    
echo $long . "\n";              // -1073732954
    
printf("%u\n", ip2long($ip));   // 3221234342
}
?>

Az ip2long() függvény képes nem teljes IP címekkel is dolgozni. További információk az http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm oldalon olvashatók.

Megjegyzés: Az ip2long() függvény a 255.255.255.255 IP címre -1 értéket fog visszaadni.

Lásd még: long2ip() és sprintf().