ip2long

(PHP 4, PHP 5, PHP 7)

ip2longNoktalı IP adresi gösterimini içeren bir dizgeyi sayısal adrese dönüştürür

Açıklama

ip2long ( string $ip_adresi ) : int

ip2long() işlevi noktalı gösterimini kullanarak bir IPv4 sayısal ağ adresi oluşturur.

ip2long() işlevi ayrıca, tamamı belirtilmemiş IP adresleri ile de çalışır. Daha fazla bilgi için » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm adresine bakınız.

Değiştirgeler

ip_adresi

Noktalı gösterimle bir IPv4 adresi.

Dönen Değerler

Belirtilen ip_adresi geçirsizse FALSE, aksi takdirde IPv4 adresi ile döner

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 Bu sürümden önce, ip2long() işlev başarısız olduğunda -1 döndürüyordu.

Örnekler

Örnek 1 - ip2long() Örneği

<?php
$ip 
gethostbyname('localhost');
$out "Bu adresler aynıdır:<br />\n";
$out .= 'http://localhost/, http://' $ip '/ ve http://' .
  
sprintf("%u"ip2long($ip)) . "/<br />\n";
echo 
$out;
?>

Örnek 2 - Bir IP adresinin gösterilmesi

Bu örnekte, PHP4 ve PHP 5'te printf() işleviyle dönüştürülmüş bir adresin nasıl basılacağı gösterilmiştir:

<?php
$ip   
gethostbyname('mesela.dom');
$long ip2long($ip);

if (
$long == -|| $long === FALSE) {
    echo 
'IP geçersiz, tekrar deneyin';
} else {
    echo 
$ip   "\n";           // 192.0.34.166
    
echo $long "\n";           // -1073732954
    
printf("%u\n"ip2long($ip)); // 3221234342
}
?>

Örnek 3 - IP doğrulama

ip2long() işlevi IP doğrulaması amacıyla tek başına değil, long2ip() ile birlikte kullanılmalıdır:

<?php
// IP'ler geçerli mi, bakalım. Bunu yapmak için eksik belirtilmiş
// IP adreslerini düzgün IP adreslerine dönüştürelim.
$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"
?>

Notlar

Bilginize:

PHP'nin tamsayı türü işaretli tamsayı olduğundan ve çoğu IP adresi negatif tamsayılarla sonuçlanacağından işaretsiz IP adresinin dizge gösterimini elde etmek için sprintf() ve printf() işlevlerinde %u değiştiricisini kullanmalısınız.

Bilginize:

ip2long() işlevi PHP 5 <= 5.0.2 sürümlerinde 255.255.255.255 adresi için FALSE döndürmektedir. Bu, PHP 5.0.3 sürümünde (PHP 4'teki gibi) -1 döndürecek şekilde düzeltilmiştir.

Ayrıca Bakınız

  • long2ip() - Bir (IPv4) sayısal ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
  • sprintf() - Biçemli bir dizge döndürür