stat
  Gives information about a file
  
 
 
  Description
  
   array stat
    ( string $filename
   )
  
  
   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 | 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 512-byte 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.
  
  Note: 
    Because PHP's integer type is signed and many platforms use 32bit integers,
    some filesystem functions may return unexpected results for files which
    are larger than 2GB.
   
  
 
  Errors/Exceptions
  
   Upon failure, an E_WARNING is emitted.
  
  
 
  Examples
  
   
    Example #1 stat example
    
<?php
/* Get file stat */
$stat = stat('C:\php\php.exe');
/*
 * Print file access time, 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 
     * after 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.
  TipAs of PHP 5.0.0, this function
can also be used with some URL wrappers.  Refer to
Supported Protocols and Wrappers to determine which wrappers support
stat family of functionality.
 
  
 
  See Also
  
   
    - lstat
- fstat
- filemtime
- filegroup