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.
(PHP 4, PHP 5, PHP 7, PHP 8)
fileinode — Obtiene el i-nodo del archivo
filename
Ruta del archivo.
Devuelve el número del i-nodo del archivo, o false
en caso de error.
Ejemplo #1 Comparar el i-nodo de un archivo con el archivo actual
<?php
$nombre_archivo = 'index.php';
if (getmyinode() == fileinode($nombre_archivo)) {
echo 'Está comprobando el archivo actual.';
}
?>
En caso de fallo, se emite un E_WARNING
.
Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().
Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().
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.
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.