สูตร ในการเปลี่ยน IP เป็น ตัวเลข

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: สูตร ในการเปลี่ยน IP เป็น ตัวเลข

สูตร ในการเปลี่ยน IP เป็น ตัวเลข

by mindphp » 15/07/2009 3:53 am

ข้อมูลอ้างอิงจากhttp://www.ipligence.com/faq
สูตร

Code: Select all

A.B.C.D = D + (C * 256) + (B * 256 * 256) + (A * 256 * 256 * 256) =
เช่น

Code: Select all

192.168.0.1 = 1 + (0 * 256) + (168 * 256 * 256) + (192 * 256 * 256 * 256) =3232235521 
เขียนเป็น function ของ php

Code: Select all

function IP2LONG($a){
    $d = 0.0;
    $b = explode(".", $a,4);
    for ($i = 0; $i < 4; $i++) {
        $d *= 256.0;
        $d += $b[$i];
    };
    return $d;
}
 
ประโยชน์ของมันคือ เอาไว้แปง IP เป็นชื่อประเทศหรือ ลึกลงไปกว่านั้นก็ได้ ถ้ามีฐานข้อมูล มาเทียบว่า ตัวเลขที่ได้ ตรงกับ ประเทศอะไร อ. อะไร (ข้อมูลนี้เว็บนั้นเค้ามีขาย และแจกฟรีสำหรับเทียบได้ถึงระดับประเทศ)

Top