为什么PHP is_link函数返回FALSE?

时间:2017-09-07 18:01:53

标签: php filesystems

我在Windows桌面上创建了一个文件快捷方式,并使用is_link()检查它是否会被报告为链接。但是,此函数似乎总是返回FALSE。我误解了什么吗?

var_dump(is_link("score_shortcut.txt"));

Windows快捷方式不被视为符号链接。即使您对此问题进行了投票,请指出我可以阅读的正确资源。以下是我发现的符号链接,看起来score_shortcut.txt应该返回TRUE。

  

符号链接,也称为软链接,是指向另一个文件的特殊文件,非常类似于Windows中的快捷方式或Macintosh别名。与硬链接不同,符号链接不包含目标文件中的数据。它只是指向文件系统中某处的另一个条目。

1 个答案:

答案 0 :(得分:0)

符号链接是文件系统对象,但Windows快捷方式只是一个常规文件(更具体地说,扩展名为.lnk的文件),其中包含Windows资源管理器用来模拟链接的数据 1 。因此is_link()完全正确。

实际上,当您尝试在Windows资源管理器的上下文之外使用快捷方式时,差异突出:在命令提示符中键入dir foo是没用的,您将快捷方式拖到程序中它没有打开......这样的东西。

1 )该功能起源于在不支持它的文件系统中实现链接的解决方法(即FAT)。