readdir()
函數是用于讀取目錄句柄中的條目(文件和子目錄)的。但是,它不能直接獲取文件的硬鏈接數。要獲取文件的硬鏈接數,你需要使用 link()
函數或 stat()
函數。
以下是使用 stat()
函數獲取文件硬鏈接數的示例:
$directory = 'path/to/directory';
$file = 'path/to/file';
if (is_readable($directory)) {
$dir = opendir($directory);
if ($dir) {
while (($entry = readdir($dir)) !== false) {
if ($entry == $file) {
$stats = stat($file);
$links = $stats[2]; // 獲取硬鏈接數
echo "The number of hard links for $file is: $links";
break;
}
}
closedir($dir);
} else {
echo "Error: Unable to open directory '$directory'";
}
} else {
echo "Error: Directory '$directory' is not readable";
}
在這個示例中,我們首先檢查目錄是否可讀,然后打開它。接下來,我們使用 readdir()
函數讀取目錄中的每個條目,直到找到目標文件。然后,我們使用 stat()
函數獲取文件的元數據,其中硬鏈接數存儲在 $stats[2]
中。最后,我們輸出硬鏈接數。