php
PHP - clearstatcache 함수
void clearstatcache ([ bool $clear_realpath_cache= false [, string $filename ]] )
(PHP 4, PHP 5)
아래 표의 함수를 실행하면 같은 파일 이름을 사용할 경우를 위해 캐시로 임시 저장하여 메모리의 일정 부분 자원으로 할당하게 합니다.
이 일은 꽤많은 자원을 소모하는 일이기도 합니다. 시스템 자원 소모를 줄이기 위해 메모리에서 강제적으로 삭제하여 자원을 확보하거나 새로운 변경 값으로 적용해 주는 기능이 clearstatcache 함수입니다.
아래는 clearstatcache 함수를 호출하지 않았을 때의 결과입니다.
test.txt 파일에 새로운 내용을 작성하면 파일의 사이즈가 커져야 하지만 결과는 그렇지 않습니다.
이는 최초에 캐시에 저장되어 있는 값을 그대로 가져오기 때문입니다. 그래서 clearstatcache 함수를 호출해서 캐시를 삭제하게 해줘야 원하는 값을 얻을 수 있습니다.
(PHP 4, PHP 5)
아래 표의 함수를 실행하면 같은 파일 이름을 사용할 경우를 위해 캐시로 임시 저장하여 메모리의 일정 부분 자원으로 할당하게 합니다.
이 일은 꽤많은 자원을 소모하는 일이기도 합니다. 시스템 자원 소모를 줄이기 위해 메모리에서 강제적으로 삭제하여 자원을 확보하거나 새로운 변경 값으로 적용해 주는 기능이 clearstatcache 함수입니다.
목록 |
---|
stat lstat file_exists is_writable is_readable is_executable is_file is_dir is_link filectime fileatime filemtime fileinode filegroup fileowner filesize filetype fileperms |
아래는 clearstatcache 함수를 호출하지 않았을 때의 결과입니다.
<?php
$size1 = filesize('test.txt');
echo "${size1}<br/>"; // 결과: 399
$fp = fopen('test.txt','a');
fputs($fp,'clearstatcache 함수 테스트입니다.');
fclose($fp);
$size2 = filesize('test.txt');
echo "${size2}<br/>"; // 결과: 399
$fp = fopen('test.txt','a');
fputs($fp,'clearstatcache 함수 테스트입니다.');
fclose($fp);
$size3 = filesize('test.txt');
echo "${size3}<br/>"; // 결과: 399
?>
test.txt 파일에 새로운 내용을 작성하면 파일의 사이즈가 커져야 하지만 결과는 그렇지 않습니다.
이는 최초에 캐시에 저장되어 있는 값을 그대로 가져오기 때문입니다. 그래서 clearstatcache 함수를 호출해서 캐시를 삭제하게 해줘야 원하는 값을 얻을 수 있습니다.
<?php
$size1 = filesize('test.txt');
clearstatcache(); // clearstatcache 함수로 캐시를 삭제합니다.
echo "${size1}<br/>"; // 결과: 399
$fp = fopen('test.txt','a');
fputs($fp,'clearstatcache 함수 테스트입니다.');
fclose($fp);
$size2 = filesize('test.txt');
clearstatcache(); // clearstatcache 함수로 캐시를 삭제합니다.
echo "${size2}<br/>"; // 결과: 405
$fp = fopen('test.txt','a');
fputs($fp,'clearstatcache 함수 테스트입니다.');
fclose($fp);
$size3 = filesize('test.txt');
clearstatcache(); // clearstatcache 함수로 캐시를 삭제합니다.
echo "${size3}<br/>"; // 결과: 411
?>
0 댓글