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

PHP fstat() 함수 완벽 가이드 – 열린 파일 정보 확인하기

PHP fstat() 함수란?

PHP의 fstat() 함수는 fopen()으로 열어둔 파일에 대한 상세 정보를 배열 형태로 반환하는 함수입니다. 파일 크기, 접근 시간, 수정 시간 등 파일 시스템 수준의 다양한 메타데이터를 확인할 때 유용하게 사용됩니다.

fstat() 함수가 반환하는 배열에는 다음과 같은 요소들이 포함되어 있습니다.

  • [0] 또는 [dev] – 장치 번호
  • [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)

fstat(file_pointer)

매개변수(Parameters)

  • file_pointer – fopen() 함수로 생성한 파일 포인터를 지정합니다. 이 매개변수는 필수입니다.

반환값(Return)

fstat() 함수는 위에서 설명한 요소들을 담고 있는 배열을 반환합니다. 만약 오류가 발생하면 false를 반환합니다.

사용 예제

<?php
    $file_pointer = fopen("one.txt", "r");
    print_r(fstat($file_pointer));
    fclose($file_pointer);
?>

위 예제에서는 one.txt 파일을 읽기 모드로 연 후, fstat() 함수로 파일 정보를 출력하고 fclose()로 파일을 닫습니다.

실행 결과(Output)

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

출력 결과를 보면 숫자 인덱스와 문자열 키가 각각 대응되어 동일한 값을 가지는 것을 확인할 수 있습니다. 예를 들어 [7]과 [size]는 모두 파일 크기를 나타내며, 여기서는 120바이트입니다. 참고로 Windows 환경에서는 blksize와 blocks 값이 지원되지 않아 -1로 표시됩니다.