【PHP8.x】SplFileObject::getInode()メソッドの使い方
getInodeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getInodeメソッドは、SplFileObjectクラスのインスタンスが指し示すファイルのinode番号を取得するメソッドです。
inode(アイノード)とは、LinuxやUnix系のファイルシステムにおいて、ファイルやディレクトリに関するメタデータ(所有者、パーミッション、更新日時、ファイルサイズなど)を格納するデータ構造であり、ファイルシステム内で各ファイルやディレクトリに一意に割り当てられる識別番号のことです。ファイルシステムは、このinode番号を使ってファイルを管理し、実データをどこに保存しているかを特定します。
このgetInodeメソッドは、開かれているファイルのinode番号を整数値として返します。これにより、ファイル名やファイルのパスが変更されたとしても、そのファイルが依然として同一のものであるかを、inode番号の一致によって確実に識別することが可能になります。例えば、ファイルの重複をチェックする際や、システム内で特定のファイルが移動したり名前が変わったりした後も、その実体を追跡し続ける必要がある場面などで非常に有用です。ファイルの同一性を厳密に確認する際に、このメソッドから得られる情報が活用されます。
構文(syntax)
1<?php 2// 一時ファイルを作成し、SplFileObjectインスタンスを準備 3$tempFile = tempnam(sys_get_temp_dir(), 'php_inode_'); 4file_put_contents($tempFile, 'This is a test file.'); 5 6$fileObject = new SplFileObject($tempFile, 'r'); 7 8// SplFileObject::getInode メソッドの構文 9$inodeNumber = $fileObject->getInode(); 10 11// 取得したinode番号を表示 12echo $inodeNumber; 13 14// 一時ファイルを削除 15unlink($tempFile); 16?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
SplFileObject::getInodeメソッドは、ファイルシステムのinode番号を整数値で返します。inode番号は、ファイルシステム上でファイルを一意に識別するための番号です。