5

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

4

5 回答 5

8

检查这个答案: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)
}
于 2014-08-05T11:17:41.873 回答
0
  1. 将符号链接重命名为“my_link”之类的名称,以便重用相同的 PHP 文件。
  2. 使用适当的代码创建 PHP 文件。我使用了“unlink.php”。简单易记。
  3. 将 PHP 文件上传到包含链接的目录。
  4. 输入文件的 URL。

结果是文件消失得无影无踪。

<?php
unlink ('my_link');
?>
于 2012-07-30T08:03:11.370 回答
0

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

从这里检查 Mklink 的使用情况

于 2012-07-30T08:07:48.567 回答
0

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

shell_exec('rm ' . $file);
于 2021-03-18T22:29:14.867 回答
-2

读这个:-

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

试试这个:-

symlink($target, $link);
unlink($link);
unlink($target);
于 2012-07-30T08:03:51.947 回答