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

PHP lstat() 함수 – 파일과 심볼릭 링크 정보를 확인하는 방법

PHP의 lstat() 함수는 파일 또는 심볼릭 링크에 대한 상세 정보를 반환합니다. 이 함수는 stat() 함수와 매우 유사하지만, 한 가지 중요한 차이점이 있습니다. 만약 file 매개변수가 심볼릭 링크라면, 링크가 가리키는 원본 파일이 아닌 심볼릭 링크 자체의 상태 정보를 반환한다는 점입니다.

lstat() 함수는 아래 표와 같은 요소들을 담은 배열을 반환합니다.

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

문법(Syntax)

lstat(file_path)

매개변수(Parameters)

  • file_path – 상태 정보를 확인할 파일의 경로를 지정합니다.

반환값(Return)

lstat() 함수는 위에서 설명한 요소들을 포함한 배열을 반환합니다. 숫자 인덱스([0], [1], ...)와 문자열 키([dev], [ino], ...) 두 가지 형태로 동일한 값에 접근할 수 있습니다.

예제(Example)

<?php
    print_r(lstat("new.txt"));
?>

실행 결과(Output)

Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 120
[8] => 17128173529
[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
)

참고 사항

lstat() 함수의 결과는 운영체제나 서버 환경에 따라 달라질 수 있습니다. 예를 들어 Windows 환경에서는 blksize와 blocks 값이 -1로 반환되며, Unix 계열 시스템에서는 실제 블록 정보가 제공됩니다. 심볼릭 링크가 가리키는 대상 파일의 정보가 필요하다면 stat() 함수를 사용하는 것이 적절합니다.