(PHP 4, PHP 5)
stat — Gives information about a file
Gathers the statistics of the file named by filename . If filename is a symbolic link, statistics are from the file itself, not the symlink.
lstat() is identical to stat() except it would instead be based off the symlinks status.
Path to the file.
| Numeric | Associative (since PHP 4.0.6) | Description |
|---|---|---|
| 0 | dev | device number |
| 1 | ino | inode number * |
| 2 | mode | inode protection mode |
| 3 | nlink | number of links |
| 4 | uid | userid of owner * |
| 5 | gid | groupid of owner * |
| 6 | rdev | device type, if inode device |
| 7 | size | size in bytes |
| 8 | atime | time of last access (Unix timestamp) |
| 9 | mtime | time of last modification (Unix timestamp) |
| 10 | ctime | time of last inode change (Unix timestamp) |
| 11 | blksize | blocksize of filesystem IO ** |
| 12 | blocks | number of blocks allocated ** |
* On Windows this will always be 0.
** Only valid on systems supporting the st_blksize type - other systems (e.g. Windows) return -1.
In case of error, stat() returns FALSE.
Upon failure, an E_WARNING is emitted.
| 버전 | 설명 |
|---|---|
| 4.0.6 | In addition to returning these attributes in a numeric array, they can be accessed with associative indices, as noted next to each parameter |
Example #1 stat() example
<?php
/* Get file stat */
$stat = stat('C:\php\php.exe');
/*
* Print file access file, this is the same
* as calling fileatime()
*/
echo 'Access time: ' . $stat['atime'];
/*
* Print file modification time, this is the
* same as calling filemtime()
*/
echo 'Modification time: ' . $stat['mtime'];
/* Print the device number */
echo 'Device number: ' . $stat['dev'];
Example #2 Using stat() information together with touch()
<?php
/* Get file stat */
$stat = @stat('C:\php\php.exe');
/* Did we failed to get stat information ? */
if(!$stat)
{
echo 'Stat call failed...';
}
else
{
/*
* We want the access time to be 1 week
* before the current access time.
*/
$atime = $stat['atime'] + 604800;
/* Touch the file */
if(!@touch('some_file.txt', time(), $atime))
{
echo 'Failed to touch file...';
}
else
{
echo 'Touch returned success...';
}
}
?>
Note: 시간 정밀도는 각각 파일 시스템에 따라 다를 수 있습니다.
Note: 이 함수의 결과는 캐시에 저장합니다. 자세한 설명은 clearstatcache()를 참고하십시오.
PHP 5.0.0부터 이 함수는 몇몇 URL 래퍼를 사용할 수 있습니다. 기능적으로 stat() 패밀리를 지원하는 래퍼 목록은 지원 프로토콜/래퍼 목록를 참고하십시오.