PHP 언어에서 파일의 크기를 알아내려면 어떻게 해야할까요? 간단한 방법으로 php에서 제공하는 filesize() 함수를 이용하는 방법이 있습니다. 이 함수는 해당하는 파일의 크기를 반환합니다. 사용방법은 매우 간단하여 아래와 같은 형식으로 사용할 수 있습니다. 전달 할 인자에는 해당하는 파일이름을 넣어줍니다.
filesize(해당하는 파일이름)
// 파일이름 필수사항
함수를 실행시킬 경우 해당하는 파일의 사이즈를 확인하여 반환합니다. 참고로 이때 반환하는 값의 기본 단위는 byte입니다. 그렇기때문에 만약 Kbyte 단위의 값이 필요하다면 간단하게 1024를 나누면 원하는 값을 구할 수 있을 것입니다. 그럼 아래의 예제와 함께 알아보시기 바랍니다.
! filesize() 함수 예제소스 보기
아래는 특정 이미지 파일의 크기를 알아내어 kbyte로 표기하는 방법에 대한 간단한 예제소스입니다. 실제로 현재 서버에 저장되 있는 이미지의 크기를 예로 사용하였습니다. 그럼 아래 코드를 확인하세요.
< ?php
$imageSize = filesize(./images/galleryImg_01.jpg) / 1024;
// 파일의 크기를 알아낸 후 1024로 나누어 kbyte 단위로 계산
$imageSize = floor($imageSize);
// 소수점 제거를 위해 floor를 사용
echo $imageSize.' KB';
?>
실행한 결과 아래와 같이 나타났습니다.
542 KB
// 계산된 결과로 542 KB를 출력함
위 예제소스를 사용하여 우리가 원하는 파일단위의 값을 구하였습니다. 만약 단순하게 byte가 아니라 더 많은 단위를 간략하게 표기위한 방법은 없을까요? 아래와 같이 단위로 구분하여 출력하는 함수를 만들어 사용하면 매우 편리할 것입니다. 아래의 소스코드를 참고하세요.
# 사이즈를 구분 가능한 단위로 바꾸어 출력하는 함수 소스 보기
<?php
function formatSize($bytes, $decimals = 2) {
$size = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$size[$factor];
}
?>
위의 사용자 함수 formatSize()는 앞의 인자에는 확인할 파일을... 뒤에는 나타낼 소수점을 사용할 수 있습니다. 만약 512,000 byte의 파일을 위 함수를 사용해 확인하면 다음과 같이 결과가 나타나게됩니다.
< ?php
$test = 512000;
echo formatSize($test);
?>
512.00KB
// 출력결과로 512.00KB를 반환하였음
매우 편리하게 원하는 단위의 값을 읽기 쉽도록 변환해주는 함수입니다.
'PHP∵SCRIPT' 카테고리의 다른 글
도스 윈도 네트워크 명령어 (0) | 2021.12.23 |
---|---|
PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재) (0) | 2021.06.14 |
PHP 자주 쓰이는 정규표현식 모음 (0) | 2021.05.19 |
태그 사이에 있는 텍스트를 추출 (0) | 2021.05.16 |
PHP 클래스 사용방법 정리 (0) | 2016.11.17 |
[JQUERY] 아코디언 슬라이드 메뉴 만들기 (0) | 2016.11.08 |
[jQuery] jQuery Quick API (0) | 2016.10.21 |
[PHP] dirname()함수와 $ SERVER 관련 상수들 (0) | 2016.10.21 |
댓글