我正在尝试使用 PHP 创建硬链接。我知道有三种链接:符号链接、硬链接和目录连接(目录的硬链接)。
在 PHP 中,符号链接是symlink()
函数,硬链接是link()
,但是目录连接呢?
我需要将它用于 Web 应用程序,而符号链接对我来说是不够的。
谢谢
我正在尝试使用 PHP 创建硬链接。我知道有三种链接:符号链接、硬链接和目录连接(目录的硬链接)。
在 PHP 中,符号链接是symlink()
函数,硬链接是link()
,但是目录连接呢?
我需要将它用于 Web 应用程序,而符号链接对我来说是不够的。
谢谢
我有一个类似的问题,当我专门在 Windows 系统上运行时,我做了:
exec('mklink "' . $linkLocation . '" "' . $linkTarget . '" /J')
成功的结果如下所示:
Junction created for C:\...\... <<===>> C:\...\...
您不能在 Linux 中创建指向目录的硬链接(或“目录连接”),操作系统不支持。我不知道是否可以在 Windows 中使用链接,但它应该像尝试一样简单。
目录连接是特定于 NTFS 的功能。Linux 中没有目录连接。有目录绑定挂载(查找“绑定挂载”),它们提供类似的功能,但是它们需要 root 访问权限。
我使用这个简单的功能,它适用于 Windows。
<?php
function makeSymLink ($target, $link)
{
exec('mklink /j "' . str_replace('/', '\\', $link) . '" "' .str_replace('/', '\\', $target) . '"');
}
?>