php - 使用 php 查找损坏的符号链接(symbolic link)

标签 php symlink glob

我正在使用 CLI php 脚本编写构建/部署脚本。

假设我有一个目录 /environment其中只有两个损坏的符号链接(symbolic link)。

我正在运行 glob(/environment/{,.}*) .当我遍历全局时,我看到的只是 ... .符号链接(symbolic link)永远不会出现在列表中。

如何遍历目录、检测损坏的符号链接(symbolic link)和 unlink()他们使用PHP?

最佳答案

在损坏的符号链接(symbolic link)上 is_link()返回 truefile_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/

相关文章:

git - 将符号链接(symbolic link)推送到 git 是一种不好的做法吗?

linux - 如何在 Linux 中使用绝对路径创建链接?

javascript - 如何向传递给 gulp.src 的 glob 添加路径前缀?

python-3.x - `python3' : free(): invalid pointer 中的错误

php - 需要帮助修复服务器传输后的 PHP .htaccess 错误

php - 如何使用 PHP 在 MySQL 表中查找下一个可用整数

linux - 符号链接(symbolic link)数百个 wordpress 网站

python - 获取字符串形式的参数名称 - Python

php - 使用 String Request volley 传递数据在 Android Kotlin 中不起作用

php - arc lint 命令失败并出现错误 #1