keep in mind that this function is prone to an overflow, and on big filesystems it will return negative values.
fileinode
(PHP 4, PHP 5)
fileinode — Gets file inode
Description
int fileinode
( string
$filename
)Gets the file inode.
Parameters
-
filename -
Path to the file.
Return Values
Returns the inode number of the file, or FALSE on failure.
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.';
}
?>
Errors/Exceptions
Upon failure, an E_WARNING is emitted.
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
meltir at meltir dot com dot nothing ¶
5 years ago
pixel20 at wp dot pl ¶
5 years ago
Sample function that generates apache 2.2 ETag. Useful for scripts serving images or other cachable data.
$file="example.png";
// Inode
$ETag = dechex(fileinode($file));
// Size
$ETag.= "-".dechex(filesize($file));
// Modification time in useconds & (2^33-1)
$ETag.= "-".dechex(((filemtime($file).str_repeat("0",6)+0) & (8589934591)));
header("ETag: \"$ETag\");
mark nearby techexplained dot com ¶
8 years ago
This function, in spite of its name, also works for directories. Most any valid path in the filesystem will generate an inode value.
