我正在嘗試使用PHP創建硬連接。我知道有三種鏈接:符號鏈接,硬鏈接和目錄連接(目錄的硬鏈接)。PHP中的目錄連接點
在PHP中,符號鏈接是symlink()
函數,硬鏈接是link()
,但是對於目錄結點呢?
我需要將它用於Web應用程序,而符號鏈接對我來說還不夠。
感謝
我正在嘗試使用PHP創建硬連接。我知道有三種鏈接:符號鏈接,硬鏈接和目錄連接(目錄的硬鏈接)。PHP中的目錄連接點
在PHP中,符號鏈接是symlink()
函數,硬鏈接是link()
,但是對於目錄結點呢?
我需要將它用於Web應用程序,而符號鏈接對我來說還不夠。
感謝
目錄連接是NTFS特有的功能。 Linux中沒有目錄連接。有directory-binding mounts(查找「綁定掛載」),它提供了類似的功能,但它們需要root訪問權限。
不幸的是,我沒有root權限訪問生產服務器。不管如何,我一直在問如何用PHP創建目錄連接,我並不在乎它是否特定於Windows。 –
在Windows上,您可能需要調用[external utility](http://technet.microsoft.com/en-us/library/cc753194(WS.10).aspx)。儘管如此,一旦將代碼移動到CentOS生產服務器,這將無法正常工作。 – lanzz
您不能創建硬鏈接(或「目錄連接」)在Linux目錄,它不被支持的操作系統。我不知道在Windows中是否可以使用link,但它應該像嘗試一樣簡單。
從我所知我無法使用'link()'作爲目錄。 –
我也有類似的問題,因爲我是在Windows系統上的具體運行,我所做的:
exec('mklink "' . $linkLocation . '" "' . $linkTarget . '" /J')
,成功的結果看起來是這樣的:
Junction created for C:\...\... <<===>> C:\...\...
我用這個簡單的功能,它正在與Windows一起工作。
<?php
function makeSymLink ($target, $link)
{
exec('mklink /j "' . str_replace('/', '\\', $link) . '" "' .str_replace('/', '\\', $target) . '"');
}
?>
這是什麼操作系統? –
目前我在Windows 7上運行開發服務器,但生產環境是Centos(Linux) –