sun's longitude:242 12 43.13 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
70 번 글의 답장글: [MYSQL] INET_ATON(), INET_NTOA()
글쓴이: 산이 [홈페이지] 글쓴날: 2004년 01월 24일 01:21:40 토(새벽) 조회: 4821
INET_ATON(): // Address TO Number
INET_NTOA(); // Number TO Address

number 형태로 DB 에 저장되어 있을 경우

UPDATE table SET
  ipto = INET_NTOA
         ( ipfrom + INET_ATON('255.255.255.255') - ipto ),
  ipfrom = INET_NTOA(ipfrom)
;

*주)
이와 같이 계산순서상 ipto 을 먼저 update 해야함

------------------------

시작주소와 마지막주소를 알고 있을 경우 넷매스크 계산


  *계산방법)

  256 - ( 마지막주소 + 1 - 시작주소)
  = 시작주소 + (256 - 마지막주소 - 1)
  = 시작주소 + (255 - 마지막주소)

  or

  /32 - bit( 마지막주소 + 1 - 시작주소)

예)
- 시작 주소  : 211.36.160.0
- 마지막주소 : 211.36.163.255

SQL)

SELECT INET_NTOA
       (
         INET_ATON('211.36.160.0')
         +
         INET_ATON('255.255.255.255')
         -
         INET_ATON('211.36.163.255')
       );

// 결과 255.255.252.0

or

SELECT INET_NTOA
       (
         0xffffffff
         ^
         INET_ATON('211.36.160.0')
         ^
         INET_ATON('211.36.163.255')
       );

http://phpschool.com/bbs2/inc_view.html?id=10144&code=tnt2


PHP 경우

function inet_aton($ipaddr)
{
  return sprintf('%u',ip2long($ipaddr));
}

function inet_ntoa($base)
{
  return long2ip($base);
}

function is_subnet($some)
{
  if(preg_match('/^[\d]+\.[\d]+\.[\d]+\.[\d]+$/',$some))
  {
	$some = sprintf('%u',ip2long($some));
  }

  $dec = abs($some);
  $bits = decbin($dec);
  return (boolean)preg_match('/^[1]+[0]*$/',$bits);
}

 
이전글 : [네트워크] 간단한 계산방법
다음글 : [PHP/MP3] url streaming  
 from 61.254.130.225
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정| |삭제|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds