Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP stat() 함수 완벽 정리 – 파일 정보 확인 방법

PHP의 stat() 함수는 지정한 파일에 대한 다양한 정보를 담은 배열을 반환합니다. 파일 크기, 마지막 접근·수정 시간, 권한 모드 등 파일 시스템 관련 핵심 데이터를 한 번에 확인할 수 있어 파일 관리 및 검증 작업에 유용하게 활용됩니다.

참고: stat() 함수의 실행 결과는 운영체제와 서버 환경에 따라 다르게 나타날 수 있습니다.

반환 배열의 구성 요소

stat() 함수는 숫자 인덱스와 문자열 키 두 가지 형식으로 아래 요소들을 포함하는 배열을 반환합니다.

  • [0] 또는 [dev] — 장치(device) 번호
  • [1] 또는 [ino] — 아이노드(inode) 번호
  • [2] 또는 [mode] — 아이노드 보호 모드(권한)
  • [3] 또는 [nlink] — 링크 수
  • [4] 또는 [uid] — 소유자의 사용자 ID
  • [5] 또는 [gid] — 소유자의 그룹 ID
  • [6] 또는 [rdev] — 아이노드 장치 유형
  • [7] 또는 [size] — 파일 크기(바이트 단위)
  • [8] 또는 [atime] — 마지막 접근 시간(Unix 타임스탬프)
  • [9] 또는 [mtime] — 마지막 수정 시간(Unix 타임스탬프)
  • [10] 또는 [ctime] — 마지막 아이노드 변경 시간(Unix 타임스탬프)
  • [11] 또는 [blksize] — 파일시스템 IO 블록 크기
  • [12] 또는 [blocks] — 할당된 블록 수

문법(Syntax)

stat(file_path)

매개변수(Parameters)

  • file_path — 정보를 확인할 파일의 경로입니다.

반환값(Return)

stat() 함수는 위에 정리된 요소들을 포함한 배열을 반환하며, 호출에 실패하면 false를 반환합니다.

예제 1

<?php
print_r(stat("demo.txt"));
?>

출력 결과

Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 120
[8] => 1718173529
[9] => 1984185875
[10] => 1294322653
[11] => -1
[12] => -1
[dev] => 0
[ino] => 0
[mode] => 33206
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 120
[atime] => 1718173529
[mtime] => 1984185875
[ctime] => 1294322653
[blksize] => -1
[blocks] => -1
)

이번에는 배열 전체가 아닌, 필요한 정보만 골라서 출력하는 예제를 살펴보겠습니다.

예제 2

<?php
$stat = stat('new.txt');
echo 'File mode = ' .$stat['mode'];
echo '<br />Last Modification time of the file = ' .$stat['mtime'];
?>

출력 결과

File mode = 33206
Last Modification time of the file = 1241387935

위 예제처럼 stat() 함수가 반환한 배열에서 'mode'나 'mtime' 같은 문자열 키를 사용하면 원하는 파일 정보만 간편하게 가져올 수 있습니다.