Введенин

В системах Unix довольно часто возникает необходимость иметь для одного и того же файла или каталога разные имена. При этом одно из имен логично назвать основным, а все другие - его псевдонимами. В терминологии Unix такие псевдонимы называются символическими ссылками.
Символическая ссылка - это просто бинарный файл специального вида, который содержит ссылку на основной файл. При обращении к такому файлу (например, открытию его на чтение) система "соображает", к какому объекту на самом деле запрашивается доступ, и прозрачно его обеспечивает. Это означает, что мы можем использовать символические ссылки точно так же, как и обычные файлы. Однако иногда нужно бывает работать со ссылкой именно как со ссылкой, а не как с файлом. Для этого и существуют перечисленные ниже функции PHP.

Жесткие ссылки

Создание символической ссылки - не единственный способ задать для одного файла несколько имен. Главный недостаток символических ссылок - существование основного имени файла, на которое все и ссылаются. Попробуйте удалить этот файл - и вся "паутина" ссылок, если таковая имелась, развалиться на куски. Есть и другой недостаток: открытие файла, на который указывает ссылка, происходит несколько медленнее, т.к. системе нужно проанализировать содержимое ссылки и установить связь с "настоящим" файлом. Особенно это чувствуется, если одна ссылка указывает на другую, а та на третью и т.д. уровней на 10.

Жесткие ссылки позволяют вам иметь для одного файла несколько совершенно равноправных имен, причем доступ по ним осуществляется одинаково быстро. При этом, если одно из таких имен будет удалено, то сам файл удалиться только в том случае, если данное имя было последним, и других имен у файла нет.
Зарегистрировать новое имя у файла (то есть создать для него жесткую ссылку) можно с помощью функции link().
Ее синтаксис полностью идеентичен функции symlink(), да и работает она по тем же правилам, за исключением того, что создает не символическую, а жесткую ссылку.