我正在使用 CLI php 脚本编写构建/部署脚本。
假设我有一个目录 /environment
其中只有两个损坏的符号链接(symbolic link)。
我正在运行 glob(/environment/{,.}*)
.当我遍历全局时,我看到的只是 .
和 ..
.符号链接(symbolic link)永远不会出现在列表中。
如何遍历目录、检测损坏的符号链接(symbolic link)和 unlink()
他们使用PHP?
最佳答案
在损坏的符号链接(symbolic link)上 is_link()
返回 true
和 file_exists()
返回 false
.
由于glob()
不列出损坏的符号链接(symbolic link),您必须以不同的方式列出内容。
这是一个使用 scandir()
的示例
foreach(scandir($dir) as $entry) {
$path = $dir . DIRECTORY_SEPARATOR . $entry;
if (is_link($path) && !file_exists($path)) {
@unlink($path);
}
}
关于php - 使用 php 查找损坏的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158529/