当前位置: 首页 > 知识库问答 >
问题:

PHP窗口,符号链接文件夹的rmdir

宗政燕七
2023-03-14

我最近一直在努力用PHP删除windows上带有内容的符号链接文件夹。

我正在做的过程是:1。将文件/文件夹从位置A符号链接到位置B(一切正常)2。从位置B取消所有文件/文件夹的链接

这就是事情变得棘手的地方。我的代码:

  echo("\n unlinking: ".$pre.$folder.'/'.$elem);
  if(file_exists($pre.$folder.'/'.$elem)){
        if(isWindows()){
            if(is_dir($pre.$folder.'/'.$elem)){
                rmdir($pre.$folder.'/'.$elem);
            } else {
                unlink($pre.$folder.'/'.$elem);
            }
        } else {
            unlink($pre.$folder.'/'.$elem);
        }
  } else {
    echo("\n -> Not there. \n");
  }

如果目标是文件或空文件夹,一切正常。然而,当符号链接文件夹有内容时,我会收到一个警告,即我无法删除非空文件夹,并且该文件夹未被删除。

警告:rmdir(dirname):目录不为空

这意味着在使用rmdir(推荐操作)时,windows上包含内容的符号链接文件夹是不可移动的。

我可以在windows资源管理器中手动删除该文件夹,并且该文件夹工作正常(仅删除符号链接)。

希望你能帮忙,西维尔。


共有2个答案

公良鸿风
2023-03-14

知道发生了什么事。

事实证明,它毕竟与PHP无关——这些文件夹处于TortoiseSVN和NetBeans的版本控制之下,而这些文件夹碰巧与符号链接发生了冲突。

现在无法复制这种行为。

谢谢:)

罗华翰
2023-03-14

删除符号链接时,您需要将其视为文件,而不是目录。所以,你需要使用解除关联,而不是rmdir!

HTH:)

 类似资料:
  • 问题内容: 大家好,我需要在linux中执行此操作: 给出:文件名“ foo.txt” 查找:所有符号链接到“ foo.txt”的文件 怎么做?谢谢! 问题答案: 这取决于是否要查找指向特定文件的链接,那么这是唯一的好方法: 另一方面,如果您只是想查找指向恰好名为的 任何 文件的链接,则类似 要么

  • 由于以前的Eclipse用户切换到IntelliJ,我希望在开发时能够从IDE内部访问项目外部的文件夹。 在Eclipse中,我使用了创建链接资源的特性。 我想知道IntelliJ中是否有任何功能可以帮助我以类似的方式访问外部文件和文件夹(例如,如果我想编辑位于项目外部的应用程序服务器的配置)。

  • 我有数据流就像 事件名,事件id,Start_time(时间戳)... 在这里,我想对最后一个带有时间戳的字段<;code>;Start_。 因此,我在flink window中看到的是,所以我猜它需要过去30分钟的事件,但不考虑 我想把数据放在start_ time在最后30分钟内的位置,然后我如何编写转换?我是否需要使用该列使用? 我是Flink的新手。 谢啦

  • 问题内容: 我想在Linux中建立一个符号链接。我已经编写了此Bash命令,其中第一个路径是我要链接到的文件夹,第二个路径是已编译的源代码。 它是否正确? 问题答案: 要创建新的符号链接(如果符号链接已存在,将失败): 要创建或更新符号链接:

  • 在我的项目中,我使用一个JSON文件作为数据库(当前存储在我的计算机的本地)。它由节点修改。js和一些信息在import:我不能将数据库放在src文件夹中,因为构建是静态的,我的数据库必须是动态的。我得到这个错误: 我现在请你帮忙添加符号链接。我在node_modules中创建了文件夹“appData ”,使用了: 在我的组件中使用它,比如: 但我也得到错误: 我正在寻找一个解决方案来忽略src文