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 — Lee el número de inodo del fichero
filename
Ruta de acceso al fichero.
Devuelve el número de inodo del fichero, o false
si ocurre un error.
En caso de fallo, se emitirá una advertencia de tipo E_WARNING
.
Ejemplo #1 Comparación del inodo de un fichero con el fichero actual
<?php
$filename = 'index.php';
if (getmyinode() == fileinode($filename)) {
echo 'Se verifica el fichero actual.';
}
?>
Nota: Los resultados de esta función están en caché. Véase la función clearstatcache() para más detalles.
A partir de PHP 5.0.0, esta función también puede ser utilizada con algunos protocolos url. Lea Protocolos y Envolturas soportados para conocer los protocolos que soportan la familia de funcionalidades 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.