Как сделать на странице сайта ссылку на закачку небольшого файла, который расположен вне корневой root-директории сервера Apache (DocumentRoot). Файл, скажем, расположен где-то в локальной сети. С компьютера, на котором работает сервер Apache, доступ к этому файлу есть. Но как сделать доступ на скачку этого файла из интернета средствами страницы сайта?
Ничего более умного, как предварительно скачать этот файл корень сайта и уже потом дать на него ссылку, мне в голову не приходит. Есть какой-нибудь более гибкий и продвинутый способ решить эту проблему?
1. SlavikSG - 13 Октября, 2011 - 16:57:08 - перейти к сообщению
2. DeepVarvar - 13 Октября, 2011 - 17:03:48 - перейти к сообщению
ln -s /path/do/file/or/dir/ /path/do/new/www/symlink
3. SlavikSG - 14 Октября, 2011 - 09:19:58 - перейти к сообщению
DeepVarvar пишет:
ln -s /path/do/file/or/dir/ /path/do/new/www/symlink
Не понял, если честно. Что такое "ln -s"? Мне тут даже Яндекс не помог. Можно поподробнее?
4. White - 14 Октября, 2011 - 09:26:28 - перейти к сообщению
SlavikSG пишет:
а у самого apache к этому файлу доступа нет, если он не в его корневой директории. так что делайте симлинк если не хотите перемещать или копировать файл в корень сайта С компьютера, на котором работает сервер Apache, доступ к этому файлу есть
DeepVarvar пишет:
ln -s /path/do/file/or/dir/ /path/do/new/www/symlink
SlavikSG пишет:
)))нашли у кого спрашивать
Мне тут даже Яндекс
5. SlavikSG - 14 Октября, 2011 - 09:50:30 - перейти к сообщению
White пишет:
...так что делайте симлинк если не хотите перемещать или копировать файл в корень сайта...
Так вот я и не пойму, что такое "симлинк". Покажите на полном живом примере, как этим пользоваться. Как это можно вставить в HTML страницу или в скрипт PHP. Плиииз!
6. Мелкий - 14 Октября, 2011 - 10:07:17 - перейти к сообщению
Это команда консоли *nix - систем.
Если вы не поняли, что я сказал - ставите любой понравившийся дистрибьютив linux в виртуалку или второй системой.
Заодно, натренируетесь спрашивать поисковики. Yandex, запрос "ln -s", 2-4 результаты выдачи - ответ, что такое ln - дан. "симлинк" - и вовсе первые как минимум 3 результата.
Вариант 2: http://forum.php.su/topic.php?fo...=35&topic=11
Если вы не поняли, что я сказал - ставите любой понравившийся дистрибьютив linux в виртуалку или второй системой.
Заодно, натренируетесь спрашивать поисковики. Yandex, запрос "ln -s", 2-4 результаты выдачи - ответ, что такое ln - дан. "симлинк" - и вовсе первые как минимум 3 результата.
Вариант 2: http://forum.php.su/topic.php?fo...=35&topic=11
7. SlavikSG - 14 Октября, 2011 - 15:06:32 - перейти к сообщению
Мелкий пишет:
...ставите любой понравившийся дистрибьютив linux в виртуалку или второй системой.
Нет. Ну, это совсем не выход - ставить на комп виртуальную машину с другой операционной системой, ради одной единственной ссылки на файл.
Мелкий пишет:
Заодно, натренируетесь спрашивать поисковики. Yandex, запрос "ln -s", 2-4 результаты выдачи - ответ, что такое ln...
Именно про Линукс мне Яндекс и ответил. Отчего я и подумал, что это совсем не то, что имел в виду автор того поста. А оказывается именно это он и имел в виду.
Мелкий пишет:
Вариант 2: http://forum.php.su/topic.php?forum=35&topic=11
Внимательно изучил это дело. Тут имеется в виду - отдавать файл клиенту не по ссылке, а по скрипту. Получилось. Работает. Спасибо!
Вот такой код в итоге получился:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $FullFileName = '//Megaserver/WORK/Slavik/stalker.rar';
- Else
Казалось бы проблема решена. Но вылез один глюк, который как-то вылезал у меня и в другом месте. При работе с моими личными сетевыми ресурсами файловые функции PHP работают очень медленно. С самим PHP это не связано никак. Ведь с ресурсами локального компа, все работает моментально. Куда бы я файл не положил, на любой диск, в любую папку, файл моментально начинает качаться. Но как только я этот же файл кладу в сеть - все!!! Дикие тормоза. Страница думает секунд сорок, затем вылетает ошибка. Жму обновить. Снова немного думает и потом файл начинает не качаться, а загружаться прямо в браузер. Жму выход, снова кликаю на ссылку, и только уже тогда файл начинает закачиваться. В общем, глюк на глюке и глюком погоняет.
Я не спрашиваю - почему. Это уже точно выходит за рамки работы PHP. Скорее всего - это как-то связано с работой моей сети. Хотя на поверку я и не замечаю никаких тормозов. Все летает! Какие-то тормоза в моей сети замечает только PHP.
Обидно!
Вроде бы проблема решена с помощью "отдачи файла по скрипту", а я не могу воспользоваться этим способом.
Еще раз большое спасибо за ответы! Покопаюсь еще. Если не получится, то все же придется, наверное, копировать файл в корень сайта.