PHP Conference Japan 2024

fileinode

(PHP 4, PHP 5, PHP 7, PHP 8)

fileinode取得檔案 inode

說明

fileinode(字串 $filename): 整數|false

取得檔案的 inode。

參數

filename

檔案的路徑。

傳回值

傳回檔案的 inode 編號,失敗時傳回 false

錯誤/例外

失敗時,會發出 E_WARNING

範例

範例 #1 比較檔案的 inode 與目前檔案

<?php
$filename
= 'index.php';
if (
getmyinode() == fileinode($filename)) {
echo
'您正在檢查目前的檔案.';
}
?>

注意事項

注意此函式的結果會被快取。詳情請參閱 clearstatcache()

提示

從 PHP 5.0.0 開始,此函式也可以與部分 URL 包裝器一起使用。請參閱 支援的通訊協定和包裝器 以確定哪些包裝器支援 stat() 系列功能。

另請參閱

新增註釋

使用者貢獻的註釋 2 則註釋

crrodriguez at opensuse dot org
4 個月前
在 Linux 核心上,像 BTRFS、BcacheFS 等 COW 檔案系統,Inode 編號無法用於判斷是否為同一個檔案。
這是故意的。
sofe2038 at gmail dot com
4 年前
https://php.dev.org.tw/manual/en/function.stat.php#refsect1-function.stat-returnvalues: 中所述:
> 在 Windows 上,從 PHP 7.4.0 開始,這是與檔案關聯的識別碼,它是一個 64 位元無符號整數,因此可能會溢位。以前,它始終為 0。

看來 fileinode 共用相同的底層實作。
To Top