stat
(PHP 4, PHP 5)
stat — Gives information about a file
Descrierea
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.
Parametri
- filename
-
Path to the file.
Valorile întroarse
| 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.
Erori/Excepţii
Upon failure, an E_WARNING is emitted.
Istoria schimbărilor
| Versiunea | Descriere |
|---|---|
| 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 |
Exemple
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
Notă: Observaţi că rezoluţia timpului poate să difere de la un sistem de fişiere la altul.
Notă: Rezultatele acestei funcţii sunt stocate în cache. Accesaţi clearstatcache() pentru mai multe detalii.
Începând cu PHP 5.0.0 această funcţie poate fi utilizată de asemenea cu unele învelişuri URL. Referiţi-vă la List of Supported Protocols/Wrappers pentru lista învelişurilor care susţin familia de funcţionalitate stat().
Vedeţi de asemenea
- lstat() - Gives information about a file or symbolic link
- fstat() - Gets information about a file using an open file pointer
- filemtime() - Gets file modification time
- filegroup() - Gets file group
stat
