PHP 8.4.0 RC4 available for testing

fileinode

(PHP 4, PHP 5, PHP 7, PHP 8)

fileinodeGets file inode

Description

fileinode(string $filename): int|false

Gets the file inode.

Parameters

filename

Path to the file.

Return Values

Returns the inode number of the file, or false on failure.

Errors/Exceptions

Upon failure, an E_WARNING is emitted.

Examples

Example #1 Comparing the inode of a file with the current file

<?php
$filename
= 'index.php';
if (
getmyinode() == fileinode($filename)) {
echo
'You are checking the current file.';
}
?>

Notes

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 Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality.

See Also

  • getmyinode() - Gets the inode of the current script
  • stat() - Gives information about a file

add a note

User Contributed Notes 2 notes

up
0
crrodriguez at opensuse dot org
3 months ago
On the linux kernel, COW filesystems like BTRFS, BcacheFS, etc Inode numbers are not usable to determine if something is the same file.
This is intentional.
up
0
sofe2038 at gmail dot com
4 years ago
As documented in https://www.php.net/manual/en/function.stat.php#refsect1-function.stat-returnvalues:
> On Windows, as of PHP 7.4.0, this is the identifier associated with the file, which is a 64-bit unsigned integer, so may overflow. Previously, it was always 0.

It appears that fileinode shares the same underlying implementation.
To Top