Оффтоп про ярлыки в Win и ссылки на файлы в Unix.

Bred Vilchec

Новичок
Оффтоп про ярлыки в Win и ссылки на файлы в Unix.

Для реализации системы скачивания оплаченных файлов понадобилось из PHP создавать ссылку на файл. (ну не сам же файл копировать в самом деле)(описание реализации есть в http://phpclub.ru/talk/showthread.php?postid=351727#post351727)
Проблема в том, что заказчик намеревается ставить на серваке Виндоус. Собственно возникла пара вопросов:

1. Можно ли создать ярлык в Windоws системной командой?
подозреваю что на уровне WinApi это раз плюнуть, но в командной строке такой функции не обнаружил.

2. Попробовал UnxUtils, возжелав найти эту функцию там, нашел, ln там есть, но при попытке создать символическую ссылку пишет, что такие ссылки системой не поддерживаются (зачем тогда включать эту фукцию в сам UnxUtils, если он под Виндовсом, я так и не понял). Если нужно создать жесткую ссылку - пишет что директория или файл не найдены, хотя такого вроде быть не должно.
Например "ln c:\boot.ini c:\boot" вывадивает подобную ошибку.

В чем может быть проблема?
Что я могу сделать?
 

MiRacLe

просто Чудо
1) и куда будет вести этот ярлык?

2) для ntfs есть Junction ( гугл поможет найти)
только маленькое НО - она делает не sym , а hard link
для твоей задачи - принципиальной разницы я не вижу..
 

Profic

just Profic (PHP5 BetaTeam)
ярлык в винде - это прежде всего ФАЙЛ, самый обычный файл. Который обрабатывается explorer-ом ли, cygcwin-ом ли или чем подобным.

в NTFS-е можно (вроде даже и simlink - Alt+F6 в фаре), но за неимением оной - ничего конретного сказать не могу.
 

MiRacLe

просто Чудо
Update: junction и linkd.exe (из win2k resourse kit) могут делать только hardlinks на каталоги.....
 

Bred Vilchec

Новичок
мдя, у меня-то Fat32 (под NTFS DOSa нет:), ну ради такого дела конвертну в NTFS или раздел добавлю...или еще один винт куплю...

MiRacLe

1. будет ссылаться на сам оплаченный файл, который лежит за пределами веб-директории сайта.
Ярлык будет размещен в динамически создаваемой/удаляемой папке, но уже доступной юзеру, например, www.site.com/md5(random)/...

2. Апдейт. спасибо, уже ищу.

Profic
Насчет что такое ярлык я в курсе. Однако же винда противная не дает его внутренности глянуть, залез в hex-редактор, оказалось, они у него непростые.:-(
 

MiRacLe

просто Чудо
Bred Vilchec
1. будет ссылаться на сам оплаченный файл, который лежит за пределами веб-директории сайта.
прикола ради создай ярлык на любой файл в своей винде, а потом выложи его в DOCUMENT_ROOT http-сервера и попроси кого-нить скачать его..., ты будешь удивлён.... но скачается только сам ярлык ...почему - обяснил Profic

и ещё.... symlink-и на файлы таки можно создавать в NTFS-5 (win2k, XP и далее по списку), нашёл даже гуёвую тулзу в readme которой написано что это
This program uses functionality of NTFS undocumented publicly by Microsoft
у тебя есть есть шанс надыбать её исходники и сделать свою консольную утилитку.... (гугли: symlink ntfs-5)

-~{}~ 20.12.04 14:31:

http://www.nedprod.com/programs/Win32/SymLink/SymLink_v102_sources.zip
 

Bred Vilchec

Новичок
Автор оригинала: MiRacLe
Bred Vilchec

прикола ради создай ярлык на любой файл в своей винде, а потом выложи его в DOCUMENT_ROOT http-сервера и попроси кого-нить скачать его..., ты будешь удивлён.... но скачается только сам ярлык ...почему - обяснил Profic
кажется, я понял:
ярлык!=ссылка...

нет, я конечно подозревал, что ссылка - нечто более низкоуровневое...
Неужели все может быть так просто в Юникс и так криво в Мелкософт, ведь одно и то же достигается в первом случае чтением оглавления ФС и чтением содержимого файла во втором...Я прав?

Автор оригинала: MiRacLe
и ещё.... symlink-и на файлы таки можно создавать в NTFS-5 (win2k, XP и далее по списку), нашёл даже гуёвую тулзу

у тебя есть есть шанс надыбать её исходники и сделать свою консольную утилитку.... (гугли: symlink ntfs-5)
Спасибо, попробую, хотя в создании утилит, пусть и с исходниками я мало что смыслю.
 

Bred Vilchec

Новичок
На Фате стоит моя личная персонаяльная, господи прости, Винда. А сервер на винде - это требование заказчика, мол ему никуда не упало переучивать своих сотрудников, чтобы они в Линуксе (и иже с ним) могли куда-нибудь тыкать.
 

Bred Vilchec

Новичок
_RVK_
там очень маленькая контора, всего 8 челов, включая директора - почти семейный коллектив :)

ну, не нам решать, кого ему уволить, а кого переучивать.
 

_RVK_

Новичок
Мне потребовалось ~2 месяца на то что бы настроить интернет шлюз и файлсервер на мандрейке. Потом, когда все заработало, я об этом пожалел. С виндой хоть не так скучно было, а с линухом я весь потолок оплевал. :) Так что никому не советую ставить линукс. Сразу теряешь интерес к работе, приобретаешь лишние киллограмы и, боже упаси, геморой.

Сори за оффтоп :)
 

_RVK_

Новичок
neko
да знаю. но наиболее дружелюбная. притом что сетка была 10 компов. Но даже мандрейк работает более года без каких либо вмешательств(тока временами диски статистикой переполняются). Дело в том, что я там уже не работаю, так новый админ в линуксе как я в балете. Но уже полгода его вмешательство не требуется.
 

_RVK_

Новичок
neko
Кстати где-то читал что один из крупных сервисов (то ли mail то ли яндекс) полностью сидит на мандрейке. И не жужжат....

-~{}~ 20.12.04 20:09:

Bred Vilchec
Все, сори. Оффтоп в оффтопе :)
 

_RVK_

Новичок
Bred Vilchec
Слушай, ну не помню кто именно. Но сервер крупный. Но это, конечно, исключение, которое обычно подтверждает правило....
 

Bred Vilchec

Новичок
_RVK_
Все, не буду оффтопить. Если хочешь - можем в привате об этом поговорить, а еще лучше - воспользуйся поиском.
 
Сверху