2015-05-12 3 views
0

Я занимаюсь этим уже 2 дня без успеха. Вчера я разместил вопрос here, которому я получил пару предложений, которые я действительно не понимал.Как открыть папку на C: из интрасети

Я просил разъяснений и ответа пока не получил.

Либо:

  1. Я не объясняя себя очень хорошо.
  2. Решение не найдено
  3. Любой, кто может быть в состоянии помочь, еще не видел его.

OK - здесь идет - хороший 'п' простой ....

Я использую сервера XAMPP на WIN7 с FireFox.

  1. В моем адресной строке браузера можно ввести: file:///C:/xampp/htdocs/folder1/subfolder1/, который является своего рода OK

  2. Я поставил следующий код внутри якоря на странице и запустить его из папки/HTDOCS XAMPP: href="folder1/subfolder1/">Go to subfolder1, дает подобный вид результата

  3. в браузере снова набираю: file:///C:/folder2/subfolder2/ и имеют такой же результат, как 1.

Мой вопрос в том, как должен выглядеть мой якорь, чтобы добраться до C:/folder2/subfolder2/

Есть ли что-то, что я не понимаю?

Если кто-то там может опубликовать «скрипку» или показать мне пример, я уверен, я мог бы работать через эту

+1

Второй ответ на ваш первый вопрос (один с 5 косой чертой) звучит довольно разумно для меня (без проверки этого, у меня нет системы MS-Windows, чтобы сделать это). Имейте в виду, что такую ​​ссылку следует рассматривать как проблему безопасности, поэтому, вероятно, большинство браузеров мешают вам делать именно это. – arkascha

ответ

0

Это не работает по умолчанию, потому что кто-то позволяет получить доступ к локальной файловой системе, что сервер работает снаружи компьютера, это будет нарушение безопасности. Вы можете ввести его в поле URL, потому что ваш браузер работает на одном компьютере и имеет доступ к диску.

Если вы хотите открыть его из ссылки внутри HTML-файла с клиента, вам нужно будет написать программу, которая выполняется на сервере (PHP - хороший язык для использования), который получит запрос и отобразите содержимое папки. Конечно, это не очень безопасно, что нужно сделать, но URL может выглядеть следующим образом:

http://yourserver/showfolder.php?dir=c:/folder1/subfolder2 

Тогда вам просто нужно написать showfolder.php и иметь его использовать параметр dir и отвечать html, чтобы отобразить папку содержание. Опять же, хотя это возможно, вы должны много думать о том, почему вы хотите, и о том, какую информацию вы предоставляете за пределами машины, которую другие не должны видеть.

Я думаю, что вы не понимаете, какая программа интерпретирует URL в каждом случае. Сыворотка вы набираете в браузере file://..., это браузер, выполняющий работу по поиску содержимого на диске и показывая его вам. Когда вы используете URL-адрес, это запрос http, который просит ваш сервер выполнить эту работу.

+0

Можете ли вы дать мне представление о том, как выглядел бы showfolder.php. Например, это «readdir» внутри «while»? –

+0

Возможно, вы найдете множество примеров по поиску в Google. Вот один из них: http://www.liamdelahunty.com/tips/php_list_a_directory.php –

+0

Я провел еще несколько тестов с некоторыми смешными результатами. Я пытался копировать здесь, но слишком много символов. Может быть, я попытаюсь в 2/3 попытках –

0

Ваш вопрос подразумевает главным образом Apache Creating alias и directory listings. В вашем Apache конф в C:\xampp\apache\conf\httpd.conf добавить новый псевдоним, как в следующем:

Alias /subfolder2 C:/folder2/subfolder2 
<Directory "C:/folder2/subfolder2"> 
    Options FollowSymLinks +Indexes 
    Order Allow,Deny 
    Allow from All 
    AllowOverride All Indexes Options 
</Directory> 

Этим способом вы можете получить список содержимого C:/folder2/subfolder2/ так же просто, как

<a href=http://localhost/subfolder2">Subfolder2 Contents</a> 
+0

Спасибо за вашу помощь, но вчера я попробовал что-то подобное. # # \t Параметры + Индексы # \t AllowOverride None # \t заказ разрешить, запретить # \t Разрешить из всех # Ваше предложение #Alias ​​/ subfolder2 C:/folder2/subfolder2 # # Опции FollowSymlinks + Индексы # Order Allow, Deny # Разрешить из всех # AllowOverride Все индексы Опции # В обоих случаях, когда я вывезти " # XAMPP не будет Начало! –

+0

Я предполагаю, что я должен остановить apache, внести изменения, а затем начать apache –

+0

Да, это так. Вы должны перезапустить Apache. – SaidbakR