웹마스터 팁

ip주소를 정수로 변환해서 DB에 저장하면 어떨까하고 만들어본 함수...


ip2int : ip를 정수로 변환

int2ip : ip2int의 결과로 나온수를 ip로 저장...


만일 IP가 255.255.255.255면 DB에  저장하려면,
char(15)의 칼럼이 필요합니다.
만일 정수로 변환하면 4바이트인 int타입의 칼럼에 저장할수가;;

변환할때는 귀찮아서 비트연산으로 쉬프트~ 쉬프트~
참고로 php는 unsigned가 지원되지 않아서(-_-;)
128.???.???.??? 이상의 ip는 음수로 값이 나옵니다
(ex : 255.001.001.001, 128.111.111.111)
(다시 ip로 변환에는 문제 없습니다.)


        function ip2int($ip){

                sscanf($ip, "%d.%d.%d.%d", $a, $b, $c, $d);

                $int = 0;

                $int += ($a << 24);
                $int += ($b << 16);
                $int += ($c << 8);
                $int += $d;

                return $int;
        }


        function int2ip($int){

                $ip = '';

                $temp .= ($int >> 24);

                if(($int >> 24) < 0) $temp += 256;

                $ip .= $temp.'.';
                $ip .= (($int & (0x00FF0000)) >> 16);
                $ip .= '.';
                $ip .= (($int & (0x0000FF00)) >> 8);
                $ip .= '.';
                $ip .= ($int & (0x000000FF));

                return $ip;
        }
제목 글쓴이 날짜
[초간단 자바스크립트(강의)!] 버튼을 눌러서 배경색 바꾸기 [5] ∑Ztxy 2003.09.26
[초간단 자바스크립트!] 이미지에 스포트라이트 효과주기... [1] ∑Ztxy 2003.09.26
[초간단 자바스크립트!] 뒤로,앞으로,중지,홈으로 버튼 만들기... [7] ∑Ztxy 2003.09.26
[초간단 자바스크립트!] 창 이동시 경고 메세지 띄우기...!;;; [2] ∑Ztxy 2003.09.26
플레쉬 메뉴를 표방한..=ㅁ= 자바스크립트의 수작 버튼 밑으로 스크롤 되는 아이콘입니다. [47] beMax 2003.09.14
### MSN/Windows Messenger용 친구 추가스크립트 ### [10] 웹스 2003.09.05
변수란? [1] 타키 2003.09.04
진수란? [4] 타키 2003.09.04
홈에 TT WEB FTP 달기 [12] PHASE 2003.09.03
frame으로 홈페이지 구성시 한쪽 페이지는 유동성있는 파일 대입법(?) monozzang 2003.09.02
주어진 값이 한글,영어,숫자인지 체크 [2] 한승진 2003.08.29
전화번호 유효성 검사(핸폰,집전화 몽땅) [4] 한승진 2003.08.29
변수에서 숫자만 리턴합니다. 한승진 2003.08.29
변수의 실제 바이트 수를 리턴하는 팁 [2] 한승진 2003.08.29
메인 접속하면 할아버지 나오는... [6] 공유 2003.08.28
마우스 움직임에 따라 속도도, 방향도 자유자재 스크롤 소스 [1] RedEye(kaist) 2003.08.24
경우에 따라 공지가 새창에서도 보여야 하고, 일반 페이지에서도 보여야 할때 조은하루 2003.08.22
[수정]롤오버 메뉴에 하위 부메뉴 레이어..(아웃시 하위메뉴사라짐) [24] 미니 2003.08.18
재미있는놀이 [ 숫자맞추기] [3] NzeoZen 2003.08.16
배경도 이제 선택한다!!? [2] NzeoZen 2003.08.16