
- PHP - Home
- PHP - Roadmap
- PHP - Introduction
- PHP - Installation
- PHP - History
- PHP - Features
- PHP - Syntax
- PHP - Hello World
- PHP - Comments
- PHP - Variables
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ and $$ Variables
- PHP - Constants
- PHP - Magic Constants
- PHP - Data Types
- PHP - Type Casting
- PHP - Type Juggling
- PHP - Strings
- PHP - Boolean
- PHP - Integers
- PHP - Files & I/O
- PHP - Maths Functions
- PHP - Heredoc & Nowdoc
- PHP - Compound Types
- PHP - File Include
- PHP - Date & Time
- PHP - Scalar Type Declarations
- PHP - Return Type Declarations
- PHP - Operators
- PHP - Arithmetic Operators
- PHP - Comparison Operators
- PHP - Logical Operators
- PHP - Assignment Operators
- PHP - String Operators
- PHP - Array Operators
- PHP - Conditional Operators
- PHP - Spread Operator
- PHP - Null Coalescing Operator
- PHP - Spaceship Operator
- PHP Control Statements
- PHP - Decision Making
- PHP - If…Else Statement
- PHP - Switch Statement
- PHP - Loop Types
- PHP - For Loop
- PHP - Foreach Loop
- PHP - While Loop
- PHP - Do…While Loop
- PHP - Break Statement
- PHP - Continue Statement
- PHP Arrays
- PHP - Arrays
- PHP - Indexed Array
- PHP - Associative Array
- PHP - Multidimensional Array
- PHP - Array Functions
- PHP - Constant Arrays
- PHP Functions
- PHP - Functions
- PHP - Function Parameters
- PHP - Call by value
- PHP - Call by Reference
- PHP - Default Arguments
- PHP - Named Arguments
- PHP - Variable Arguments
- PHP - Returning Values
- PHP - Passing Functions
- PHP - Recursive Functions
- PHP - Type Hints
- PHP - Variable Scope
- PHP - Strict Typing
- PHP - Anonymous Functions
- PHP - Arrow Functions
- PHP - Variable Functions
- PHP - Local Variables
- PHP - Global Variables
- PHP Superglobals
- PHP - Superglobals
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP File Handling
- PHP - File Handling
- PHP - Open File
- PHP - Read File
- PHP - Write File
- PHP - File Existence
- PHP - Download File
- PHP - Copy File
- PHP - Append File
- PHP - Delete File
- PHP - Handle CSV File
- PHP - File Permissions
- PHP - Create Directory
- PHP - Listing Files
- Object Oriented PHP
- PHP - Object Oriented Programming
- PHP - Classes and Objects
- PHP - Constructor and Destructor
- PHP - Access Modifiers
- PHP - Inheritance
- PHP - Class Constants
- PHP - Abstract Classes
- PHP - Interfaces
- PHP - Traits
- PHP - Static Methods
- PHP - Static Properties
- PHP - Namespaces
- PHP - Object Iteration
- PHP - Encapsulation
- PHP - Final Keyword
- PHP - Overloading
- PHP - Cloning Objects
- PHP - Anonymous Classes
- PHP Web Development
- PHP - Web Concepts
- PHP - Form Handling
- PHP - Form Validation
- PHP - Form Email/URL
- PHP - Complete Form
- PHP - File Inclusion
- PHP - GET & POST
- PHP - File Uploading
- PHP - Cookies
- PHP - Sessions
- PHP - Session Options
- PHP - Sending Emails
- PHP - Sanitize Input
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash Messages
- PHP AJAX
- PHP - AJAX Introduction
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML
- PHP - XML Introduction
- PHP - Simple XML Parser
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Login Example
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP Advanced
- PHP - MySQL
- PHP.INI File Configuration
- PHP - Array Destructuring
- PHP - Coding Standard
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Try…Catch
- PHP - Bugs Debugging
- PHP - For C Developers
- PHP - For PERL Developers
- PHP - Frameworks
- PHP - Core PHP vs Frame Works
- PHP - Design Patterns
- PHP - Filters
- PHP - JSON
- PHP - Exceptions
- PHP - Special Types
- PHP - Hashing
- PHP - Encryption
- PHP - is_null() Function
- PHP - System Calls
- PHP - HTTP Authentication
- PHP - Swapping Variables
- PHP - Closure::call()
- PHP - Filtered unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - Expectations
- PHP - Use Statement
- PHP - Integer Division
- PHP - Deprecated Features
- PHP - Removed Extensions & SAPIs
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI Process
- PHP - PDO Extension
- PHP - Built-In Functions
PHP Filesystem stat() Function
The PHP Filesystem stat() function is used to return the information about a file. This function can gather the statistics of the file named by filename. If the filename is a symbolic link, statistics are from the file itself, not the symlink. The lstat() function is similar to stat() function, except it could instead be based on symlinks status.
Syntax
Below is the syntax of the PHP Filesystem stat() function −
array stat ( string $filename )
Parameters
Below is the only required parameter of the stat() function −
Sr.No | Parameter & Description |
---|---|
1 |
$filename(Required) It is the file to get the information about. |
Return Value
The function stat() returns an array with details about the file on success, and in case of error it returns FALSE.
Elements of Array
Here are the main elements of the array −
Index | Field | Description |
---|---|---|
[0] | dev | Device number |
[1] | ino | Inode number |
[2] | mode | File mode (protection) |
[3] | nlink | Number of links |
[4] | uid | User ID of the owner |
[5] | gid | Group ID of the owner |
[6] | rdev | Device type (if inode device) |
[7] | size | Size of the file in bytes |
[8] | atime | Time of last access |
[9] | mtime | Time of last modification |
[10] | ctime | Time of last change |
[11] | blksize | Block size for filesystem I/O |
[12] | blocks | Number of 512B blocks allocated |
PHP Version
The stat() function was first introduced as part of core PHP 4 and work well with the PHP 5, PHP 7 and PHP 8.
Example
Here is the basic example to see how the PHP Filesystem stat() function is used to get the file information.
<?php // Get file stat $stat = stat("/PhpProject/sample.txt"); // Print file access time, this is the same as calling fileatime() echo "Acces time: " .$stat["atime"]; //Print file modification time, this is the same as calling filemtime() echo "\nModification time: " .$stat["mtime"]; ?>
Output
Here is the outcome of the following code −
Acces time: 1590217956 Modification time: 1591617832 Device number: 1245376677
Example
Here is the another example to show the usage of stat() function to handle the errors while using this function.
<?php $stat = stat("/PhpProject/sample.txt"); if(!$stat) { echo "stat() call failed..."; } else { $atime = $stat["atime"] + 604800; } if(!touch("/PhpProject1/sampl2.txt", time(), $atime)) { echo "failed to touch file..."; } else { echo "touch() returned success..."; } ?>
Output
This will produce the following result −
touch() returned success...
Example
Here is one more example to if the file provided exists of not and if it exists then get the information using the stat() function.
<?php $filename = "/PhpProjects/myfile.txt"; if (file_exists($filename)) { $fileinfo = stat($filename); echo "File exists!\n"; echo "File size: " . $fileinfo['size'] . " bytes\n"; echo "Last modified: " . date('Y-m-d H:i:s', $fileinfo['mtime']) . "\n"; } else { echo "File does not exist.
"; } ?>
Output
This will generate the below output −
File exists! File size: 74 bytes Last modified: 2024-06-25 09:08:39
Example
Here is one more example to use stat() function for getting the information of the like like file size, last modification date, and permissions.
<?php $filename = "/PhpProjects/myfile.txt"; // Get file status $fileinfo = stat($filename); // Display file size in bytes echo "File size: " . $fileinfo['size'] . " bytes\n"; // Display last modified timestamp echo "Last modified: " . date('Y-m-d H:i:s', $fileinfo['mtime']) . "\n"; // Display file permissions echo "Permissions: " . decoct($fileinfo['mode'] & 0777) . "\n"; ?>
Output
This will lead to the following output −
File size: 74 bytes Last modified: 2024-06-25 09:08:39 Permissions: 644
Summary
The stat() method is a built-in function to get the information about the file given as an array. It is very helpful to get different attributes of a file like permissions, size, modification time, and its type.