PHP의 clearstatcache() 함수는 파일 상태 캐시(file status cache)를 삭제하는 역할을 합니다.
PHP는 성능 향상을 위해 파일 관련 함수들이 반환하는 정보를 내부적으로 캐시에 저장합니다. 캐싱 대상이 되는 주요 함수는 다음과 같습니다.
- stat()
- lstat()
- file_exists()
- is_writable()
- is_readable()
- is_executable()
- is_file()
- is_dir()
- filegroup()
- fileowner()
- filesize()
- filetype()
- fileperms()
파일 정보를 매번 새로 읽어오지 않고 캐시된 데이터를 재사용하면 스크립트 실행 속도가 크게 향상됩니다. 하지만 파일이 수정되거나 삭제된 후에도 캐시된 이전 정보가 반환될 수 있으므로, 최신 파일 상태가 필요한 경우에는 반드시 clearstatcache()를 호출해 캐시를 비워주어야 합니다.
문법(Syntax)
void clearstatcache()
매개변수(Parameters)
이 함수는 별도의 매개변수를 받지 않습니다.
반환값(Return)
clearstatcache() 함수는 어떠한 값도 반환하지 않습니다(void).
사용 예제
다음은 "tmp.txt" 파일을 연 뒤 캐시를 삭제하는 간단한 예제입니다.
<?php
$file = fopen("tmp.txt", "a+");
// 캐시 삭제
clearstatcache();
echo "캐시가 삭제되었습니다!";
?>
출력 결과
캐시가 삭제되었습니다!
정리
clearstatcache()는 파일 시스템 관련 작업을 자주 수행하는 PHP 애플리케이션에서 정확한 파일 정보를 보장하기 위해 꼭 알아두어야 할 함수입니다. 특히 파일 크기, 존재 여부 등을 반복적으로 확인하는 로직에서는 캐시 초기화 시점을 적절히 조절하는 것이 중요합니다.