PHP取消链接符号链接

时间:2012-07-30 07:57:34

标签: php symlink delete-file unlink

当我在windows下创建一个符号链接(在linux下没有测试它)并且想要再次删除/取消链接时(我用unlink() - 函数尝试了它),它总是删除符号链接+原始文件。但我只是想删除符号链接。它没有任何功能吗?

5 个答案:

答案 0 :(得分:4)

检查此答案:https://stackoverflow.com/a/12288764/3910083

unlink()是正确的方法

我的项目中的

代码片段,只有在符号链接

时才会被删除
if(file_exists($linkfile)) {
    if(is_link($linkfile)) {
        unlink($linkfile);
    } else {
        exit("$linkfile exists but not symbolic link\n");
    }
}

readlink(),返回链接的目标,你可以在那个

上运行unlink
if(is_link($linkfile)) {
      $target = readlink($linkfile)
      unlink($target)
}

答案 1 :(得分:0)

  1. 将符号链接重命名为“my_link”以便 重用相同的PHP文件。
  2. 使用适当的代码创建PHP文件。我使用了“unlink.php”。简单易记。
  3. 将PHP文件上传到包含该链接的目录。
  4. 输入文件的URL。
  5. 结果是文件消失而没有痕迹。

    <?php
    unlink ('my_link');
    ?>
    

答案 2 :(得分:0)

确保您使用的是软链接,而不是硬链接

here

检查Mklink的使用情况

答案 3 :(得分:0)

在 linux 上,为了安全起见,我会选择使用

shell_exec('rm ' . $file);

答案 4 :(得分:-2)

阅读本文: -

http://php.net/manual/en/function.symlink.php

试试这个: -

symlink($target, $link);
unlink($link);
unlink($target);