ip2long
(PHP 4, PHP 5)
ip2long — Pontozott IP cÃmet tartalmazó karakterláncot valódi IP cimmé alakÃt
LeÃrás
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.
Note: A PHP 5.0.0 változattól kezdve az ip2long() FALSE értékkel tér vissza, ha a megadott ip_cÃm helytelenül lett megadva.
Example#1 ip2long() példa
<?php
$ip = gethostbyname('hu.php.net');
$out = "Az alábbi URL-ek egyenértékűek:<br />\n";
$out .= 'https://hu.php.net/, https://' . $ip . '/, és ';
$out .= 'https://' . sprintf('%u', ip2long($ip)) . "/<br />\n";
echo $out;
?>
Note: 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 ezt a lekonvertált cÃmet kiÃratni a php 4-es illetve 5-ös változataiban:
Example#2 IP cÃm kiÃratása
<?php
$ip = gethostbyname("www.example.com");
$long = ip2long($ip);
if ($long === -1 || $long === FALSE) {
echo 'Helytelen IP cÃm, próbáld újra!';
} else {
echo $ip . "\n"; // 192.0.34.166
echo $long . "\n"; // -1073732954
printf("%u\n", ip2long($ip)); // 3221234342
}
?>
Az ip2long() függvényt érdemes párban használni a long2ip() függvénnyel IP cÃm ellenÅ‘rzésre.
Example#3 IP cÃm ellenÅ‘rzés
<?php
// legyünk biztosak benne, hogy az IP cÃm rendben van. Ráadásul
// még a nem teljes IP cÃmeink is átalakulnak a megfelelÅ‘ teljes
// pontozott alakká. Hogy hogyan, arról később lesz szó.
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>
Az ip2long() függvény képes nem teljes IP cÃmekkel is dolgozni. További információk az » https://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm oldalon olvashatók.
Note: Az ip2long() függvény a 255.255.255.255 IP cÃmre -1 (PHP 4) vagy FALSE (PHP 5) értéket fog visszaadni.