PHP, JavaScript로 byte를 Kb, Mb, Gb, Tb로 변환[ 편집자 : Blueⓘ ]
2009년 06월 26일 오후 01시 45분 태그 : , / 조회수 : 2,155

오랜만에 아니 현재 블로그로 재 오픈한뒤 처음으로 소스를 올리는군요 ^^

아래는 자료실등을 만들때 많이 사용하는 byte를 Kb, Mb등으로 변환해주는 함수입니다. 로그를 사용하여 간단하게 처리 합니다.

/**
 * byte를 용량에 따라 b, kb, mb, gb, tb로 계산하여 리턴함 (PHP)
 *
 * @param int bytes
 * @return String
 */
function byteConvert($bytes)
{
	$s = array('B', 'Kb', 'MB', 'GB', 'TB', 'PB');
	$e = floor(log($bytes)/log(1024));
 
	return sprintf('%.2f '.$s[$e], ($bytes/pow(1024, floor($e))));
}
/**
 * byte를 용량에 따라 b, kb, mb, gb, tb로 계산하여 리턴함 (JavaScript)
 *
 * @param int bytes
 * @return String
 */
function byteConvertor(bytes) {
	bytes = parseInt(bytes);
	var s = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
	var e = Math.floor(Math.log(bytes)/Math.log(1024));
	if(e == "-Infinity") return "0 "+s[0]; 
	else return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
}

자바스크립트에서는 if(e == “-Infinity”)부분을 추가 했습니다. 이는 0바이트가 넘어갈때 나는 오류를 처리하기 위함입니다.

엮인글 주소 : http://www.blueiblog.com/ko/archives/642/trackback
  • 이 숫자를 스팸 방지키란에 입력하여 주세요.