HTML 링크로 폴더를 여는 방법은 무엇입니까?


106

응용 프로그램 사용자가 웹 페이지 내의 링크를 클릭하여 폴더를 열 수 있도록해야합니다. 폴더의 경로는 네트워크에 있으며 어디서나 액세스 할 수 있습니다. 이 작업을 쉽게 수행 할 수있는 방법이 없다고 확신하지만 내가 잘못한 것 같습니다.


4
아래에 대답했습니다. 이것은 잘못된 보안으로 거의 불가능하게 만드는 엔터프라이즈 웹 응용 프로그램의 일반적인 요구 사항입니다 (신뢰할 수있는 http 페이지에서 파일 링크를 활성화 할 수 있어야 함). Windows에서만 광범위하게 테스트했습니다.
Andrew Duffy

답변:


107

Windows 탐색기에서 공유 폴더를여시겠습니까? file:링크 를 사용해야 하지만주의 사항이 있습니다.


4
IE에서는 UNC 경로와 링크가 포함 된 웹 사이트가 동일한 도메인에있는 경우에만, 즉 인트라넷에서만 가능합니다.
Stefan Steiger 2013

4
나는 이것이 더 이상 정확하지 않다고 생각합니다. 최신 버전의 IE는 Chrome / Safari 등처럼이 동작을 차단하는 것 같습니다.
ZeekLTK 2014 년

1
방금 IE 11에서 이것을 시도했으며 실제로 다운로드하지 않고도 로컬 파일을 열 수 있습니다 (이미 존재하는 파일 경로 열기에서와 같이). 이것은 여전히 ​​크롬에 존재하지 않습니다.
Hohohodown

4
LocalLinks Chrome 확장 프로그램을 통해 Chrome에서 작동하도록 할 수 있습니다 . 이 StackOverflow 답변
Zach Johnson

@Andrew Duffy, Google 크롬이이 동작을 차단한다는 문서가 있습니까? 나는 이것에 대해 더 알고 싶습니다
말장난

7

URL file://[servername]/[sharename]은 네트워크의 공유 폴더에 대한 탐색기 창을 열어야합니다.


4

예를 들어 디렉토리 목록이 허용되도록 폴더 권한이 설정되어 있는지 확인한 다음 chmod 701을 사용하여 해당 폴더에 앵커를 지정하십시오 (위험 할 수 있음).

<a href="./downloads/folder_i_want_to_display/" >Go to downloads page</a>

해당 디렉토리에 index.html 색인 파일이 없는지 확인하십시오.


이 대답은 작동합니다. "디렉토리 목록 허용"부분은 매우 중요합니다. 허용되지 않는 경우 활성화 할 수 있지만 모든 서버 응용 프로그램마다 다릅니다.
Travis

3

보안 설정이 보통 수준으로 설정되어 있으면 file : ///// 사용이 작동하지 않습니다.

사용자가 네트워크 또는 공유에있는 파일 *을 다운로드 /보기 만 할 수 있도록하려면 IIS에서 가상 디렉터리를 설정할 수 있습니다. 속성 탭에서 "다른 컴퓨터에있는 공유"가 선택되어 있고 "다음으로 연결 ..."이 네트워크 위치를 볼 수있는 계정인지 확인합니다.

웹 페이지 (예 : http : // yoursite / yourvirtualdir / ) 에서 가상 디렉터리에 연결 하면 웹 브라우저에서 디렉터리보기가 열립니다.

* 가상 디렉터리에 대한 쓰기 권한을 허용하여 사용자가 파일을 추가 할 수 있지만 시도하지는 않았으며 네트워크 권한이이 설정을 무시한다고 가정 할 수 있습니다.


Chrome 및 최신 버전의 IE가 파일이 아닌 웹 페이지에서 로컬 file : // 리소스에 대한 액세스를 차단하므로 이는 오늘날 관련이 있습니다. 또한 수동으로 추가하고 실행해야하지만 IIS Express에서 실행되도록 설정할 수 있습니다.
Schmuli


1

링크 주소를 복사하여 새 창에 붙여 넣어 보안을 우회 할 수도 있습니다. 이것은 크롬과 파이어 폭스에서 작동하지만 파이어 폭스에서 슬래시를 추가해야 할 수도 있습니다.


1

파티에 조금 늦었지만 최근에 직접 해결해야했지만 약간은 다르지만 비슷한 상황을 가진 사람에게 도움이 될 수 있습니다.

저는 노트북에서 xampp를 사용하여 Windows에서 순전히 로컬 웹 사이트 앱을 실행하고 있습니다. (내가 아는 매우 구체적인 환경). 이 경우 php 파일에 대한 html 링크를 사용하고 다음을 실행합니다.

shell_exec('cd C:\path\to\file');
shell_exec('start .');

로컬 Windows 탐색기 창이 열립니다.


1
유망하지만 Firefox에서 이것을 실행하면 탭이 중단됩니다. (다른 사이트에 액세스 할 수 있기 때문에 세션 등을 뒤 흔드는 것 같지만이 사이트는 다른 탭에서도 중단 된 것 같습니다!)
Stephen R

방금 Firefox에서 테스트했는데 저에게 적합하지만 열 폴더를 지정할 수 없으며 php 파일의 루트 디렉토리에서만 열립니다.
루카스 Taulealea

0

언젠가 누군가를 도울 수 있기를 바랍니다. 나는 작은 POC를 만들고 있었고 이것을 발견했습니다. 버튼, onClick은 폴더의 내용을 표시합니다. 아래는 HTML입니다.

<input type=button onClick="parent.location='file:///C:/Users/' " value='Users'>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.