Signatur
Beschreibung
getmyinode() liest den Inode der Datei, die das aktuell laufende PHP-Skript enthält, und gibt ihn als Integer zurück. Ein Inode ist eine Metadaten-Struktur auf Unix-/Linux-Dateisystemen, die Informationen wie Eigentümer, Berechtigungen und Speicherort einer Datei speichert – aber nicht den Dateinamen selbst.
Die Funktion ist primär auf Unix-ähnlichen Betriebssystemen sinnvoll und kann z. B. genutzt werden, um eine Datei eindeutig zu identifizieren, unabhängig von ihrem Pfad oder Hardlinks. Auf Windows-Systemen ist der Inode-Begriff nicht in gleicher Weise definiert, sodass die Funktion dort false zurückgeben kann oder nur begrenzt nützlich ist.
Für allgemeinere Anwendungsfälle – etwa den Inode einer beliebigen Datei zu ermitteln – eignet sich fileinode() besser, da diese Funktion einen Dateipfad als Parameter entgegennimmt.
Rückgabewert
false im Fehlerfall (z. B. wenn die Information nicht ermittelt werden kann).Beispiele
Inode des aktuellen Skripts ausgeben
<?php
$inode = getmyinode();
if ($inode !== false) {
echo 'Inode des aktuellen Skripts: ' . $inode;
} else {
echo 'Inode konnte nicht ermittelt werden.';
}
Inode mit fileinode() vergleichen
<?php
// Beide Aufrufe sollten denselben Inode liefern
$inode_mein = getmyinode();
$inode_datei = fileinode(__FILE__);
if ($inode_mein === $inode_datei) {
echo 'Inodes stimmen überein: ' . $inode_mein;
} else {
echo 'Unterschiedliche Inodes – unerwartetes Verhalten.';
}
// Wichtig · Fallstricke
Portabilität: Die Funktion ist nur auf Unix-/Linux-Systemen zuverlässig. Unter Windows gibt es kein natives Inode-Konzept; der Rückgabewert kann 0 oder false sein.
Caching: Intern nutzt PHP den stat-Cache. Falls sich die Datei während der Laufzeit geändert hat, kann clearstatcache() notwendig sein, um aktuelle Werte zu erhalten – allerdings ist dies bei getmyinode() in der Praxis selten relevant.
Für produktiven Einsatz ist fileinode(__FILE__) oft klarer lesbar und flexibler, da der Pfad explizit angegeben wird.