WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
PHP Web Logs (BLogs)
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Submit Site
Forex Trading Online forex trading platform
Gives information about a file

stat

(PHP 4, PHP 5, PECL maxdb:7.5.00.24-7.6.00.38)

statGives information about a file

Description

array stat ( string $filename )

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.

Parameters

filename

Path to the file.

Return Values

stat() and fstat() result format
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.

Errors/Exceptions

Upon failure, an E_WARNING is emitted.

ChangeLog

Version Description
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

Examples

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...';
    }
}
?>

Notes

Note: Note that time resolution may differ from one file system to another.

Note: The results of this function are cached. See clearstatcache() for more details.

Tip

As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.