add a note

User Contributed Notes 3 notes

up
1
Anonymous
15 years ago
to clarify:in unix/linux:hardlinks (by this function) cannot go across different filesystems.softlinks can point anywhere.in linux, hardlinking to directory is not permited.
up
1
Jasper Bekkers
19 years ago
For a backup utility I needed link-like functionality on a windows system. As it isn't availible on windows, i tried to do it myself with the help of some tools. All you need is junction.exe from sysinternals in your %PATH%.<?phpif(!function_exists('link')){ // Assume a windows system    function link($target, $link){        if(is_dir($target)){            // junctions link to directories in windows            exec("junction $link $target", $lines, $val);            return 0 == $val;        }elseif(is_file($target)){            // Hardlinks link to files in windows            exec("fsutil hardlink create $link $target", $lines, $val);            return 0 == $val;        }                return false;    }}?>http://www.sysinternals.com/Utilities/Junction.html
up
0
Guilherme Garnier
19 years ago
I noticed that, differently from Unix ln command, the second parameter can´t be a directory name, i.e., if you want to create a link with the same filename of the target file (obviously on different directories), you must specify the filename on the link parameter.Example:Unix ln command:ln /dir1/file /dir2/   // ok, creates /dir2/file linkPHP link function:link ("/dir1/file", "/dir2/");   // wrong, gives a "File exists" warninglink ("/dir1/file", "/dir2/file");   // ok, creates /dir2/file link
To Top