В таблице MySql в поле таблицы сохраняю путь к файлу (C:/222/Решение 1.doc), с помощью Select выбираю нужные документы, их нужно открыть.
Почему такая ссылка работает
<A href="<?php echo $rrr; ?>"> ТО ЧТО НАДО </A> -
если
$rrr="http://localhost/Решение 1.doc";
и не работает -
если
$rrr="C:/222/Решение 1.doc"или $rrr="file://C:/222/Решение 1.doc"
Причем, дома (пиратская ОС ХР sp1 IE v.6.0) все работает - файл открывается, на работе -лиценз. XP sp3 IE 7 - не переходит, никаких сообщений,
на сервере Micr. Serv. Wind. 2003 IE 6.0 – сообщение “у вас нет прав доступа к этой странице”.
Все установлено одинаково MySql, Apache, PHP
Что нужно сделать?
Гиперссылка не работает
26 декабря 2008, 17:11
Автор: mbrost
|
NO USERPIC
|
rgbeastНаверное у пользователя действительно нет прав открыть файл напрямую - нужно добавить ему права. Не стоит в веб-интерфейс впутывать ссылки на локальные файлы, это приводит к неясной политике безопасности приложения. |
26.12.2008, 17:47 Ответить |
|
NO USERPIC
|
mbrostТак вхожу и под администратором домена на сервере, а на раб. станции тоже администратор, и поиск такой делается для пользователей, Что делать или я что-то не ткак формулирую?? пожалуйста |
26.12.2008, 18:19 Ответить |
|
paulusПодозреваю, что Вы пытаетесь открыть в одном случае страничку локально (file://),а в другом случае - через http. Соответственно, браузер не позволяет обращаться к ресурсам file://, если сама страница загружена по http. Это правильное ограничение (которого раньше не было, кстати), иначе можно было сделать <iframe src="file://c:/"/> и написать "установите нашу программу, иначе мы видим Ваш жесткий диск" - и люди ставили троянов. Со включенным ограничением такое уже сделать нельзя. И обойти ограничение тоже нельзя. Правильное решение - таки раздавать документ по http. |
26.12.2008, 18:46 Ответить |
|
paulusКстати, я подумал, что, возможно, дело не в ограничении, а в URL. Попробуйте file:///222/Решение 1.doc. Если пустит - дело в двоеточии имени диска.Тем не менее - правильно раздавать документ по http. |
26.12.2008, 18:47 Ответить |
|
NO USERPIC
|
SignПравильно ли я понял что Вам доступ к файлу нужен с другой машны?Если же нет, и всё локально, то зачем Вам Apache? ; ) Раздавать по http не просто правильно. Когда Вы на машине А открываете страницу с машины B в которой есть ссылка file://bla-bla-bla - эта ссылка ведёт не на машину B (на которой находится страница), а на локальный ресурс машины A за который Вы сидите. Обычно в таких случаях в базе сохраняют относительный путь к файлу, например относительно корня Вашего web-сервера, типа '/files/fileName.ext'. Тогда будут работать и ссылки от корня сайта ($rrr="/files/fileName.ext";) и с именем хоста ($rrr='http://'. $_SERVER['HTTP_HOST']. "/files/fileName.ext") P.S русские имена файлов в вебе - это зло) |
27.12.2008, 04:11 Ответить |
|
NO USERPIC
|
mbrostспасибо за ответыа где вообще правильно хранить все документы, к которым осуществляется переход по гиперссылке? сейчас при переходе к документам, хранящимся в каталоге \Apache Software Foundation\Apache2.2\htdocs\123 - ошибка 403 - все установлено под администратром домена - каких прав не хватает - что-то с Apache или групповые политики серверной ОС надо смотреть? |
12.01.2009, 11:56 Ответить |
© 2007—2012 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
