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]
中。最后,我们输出硬链接数。