예전에 수정해서 이쁘게 만들어 사용하고 있는 mod_autoindex 의 경우에는 아파치의 모듈이기 때문에 관리가 활성화 시켜주지 않으면 사용할 수 없는 단점이 있어서… 누군가에게 권하기도 그렇고… 수정하기도 매우 어려웠습니다…
심심하던 차에 아는 사람 부탁 겸… 해서 directory viewer 를 php 로 다시 작성했습니다… template 엔진으로 template_ 만 써보다가 smarty 를 처음 써봤는데 template_ 이 좀 더 쓰기 쉬운 듯 하기는 하지만… smarty 도 그런데로 쓸만한 것 같습니다…
[php:realpath] 란 함수를 사용해서 내가 지정해놓은 디렉토리 루트 밖으로는 나갈 수 없도록 해놓았고 수많은 버그가 있겠지만… 하튼 동작은 합니다…
데모:
http://mytears.org/tmp/dir/
다운로드 url:
http://mytears.org/resources/distfiles/directory-viewer-1.1.1.tar.gz
개발버젼:
http://trac.unfix.net/browser/mytrz-dviewer
라이센스: BSD License
참고로 템플릿 엔진은 smarty 를 쓰고 있는데, 제 서버에는 smarty 가 /usr/lib/php 밑에 설치되어 있기 때문에 따로 더 필요가 없었는데… 서버에 smarty 가 이미 깔려있지 않은 분들은 smarty 를 받아다가 풀어주는 센스가 필요합니다…
p.s) 혹시나 가져다가 새로운 디자인으로 고치신 분이 계시면 skin 관련해서 feedback 좀 부탁드리겠습니다 🙂
Change Log:
2006/8/29
1. 개인 Repository 를 하나로 통합하면서 svn 경로가 수정됨
2. 웹에서 svn 을 둘러보기 위한 툴을 trac 으로 변경
3. 프로젝트 이름을 mytrz-dviewer 로 변경
2006/06/27
1. fancy size bug 수정
2. 1.1.1 버젼 릴리즈
2005/08/24
1. 스킨에서 경로도 표시가능하게 수정
2. taeyoung 스킨 추가
3. web_basedir 에서는 Parent Direcory 링크를 보여주지 않게 고침
4. 1.1 버젼 릴리즈
2005/08/17
1. kirrie 님의 스킨 추가
2. kukie 스킨 업데이트 (I.E 호환성이 더 좋아짐)
2005/08/13
1. Filename / Size / Modification Time 으로 역순 정렬이 가능해짐 (내림차순)
2. 설정 가능한 변수들을 config.php 로 빼냄
3. 숨긴 파일( 파일 이름이 “.” 으로 시작하는 파일) 을 보여줄지 말지 설정 가능해짐
4. BSD License 로 정하고 소스에 라이센스를 명시
5. Encoding 도 설정가능하도록 수정
6. 1.0 버젼 릴리즈
2005/08/12
1. XHTML 표준에 맞지 않는 부분들을 수정 validation 을 통과
2005/08/09
1. template_c 디렉토리의 퍼미션을 바꿔주는 인스톨용 스크립트 추가 (정말 퍼미션만 딱 바꿔줌 -_-);;
2005/08/08
1. 숨긴 파일 (파일 이름이 “.” 으로 시작하는 파일) 을 보여주지 않도록 함
2005/08/04
1. Filename / Size / Modification Time 으로 정렬이 가능해짐 (오름차순만 지원)
2. Skin 기능이 추가됨
3. svn repository 에 import 하고 누구든지 받을 수 있도록 공개
Similar Posts:
- php: mytrz-Gallery
- 내가 참여했던 오픈소스
- apache: mod_autoindex hack!!
- proftpd: codeconv module
- RFC2047: Message Header Ext for Non-ASCII
요청 요청~ php 공부에 도움하고싶어요~
앗 저도 모르는걸 어찌;;;
나두 나두~
공개해 버리다닛 나만 쓸라 했더니 -_)ㅋㅋ
아직 쓰는 사람은 까날옹하고 쿠키씨 두명 밖에 없는데… 아직 제대로 공개한건 아니라서 흐흐흐 :p
저도 슬쩍 얻을 수 있을까요? ^^
앗 드릴려고 irc 에 들어갔었는데… 좀 핀트가 안맞았네요 … 마루서 놀다온 사이 나가시다니 =3=33
^^ 감사합니다. 덕분에 잘 쓰고 있어요. (^ ^)/
쓰다가 불편한 점이라던가 개선할 만한 게 있는 경우 피드백 좀 부탁드리겠습니다 🙂
네. 그럴께요. 참 맘에 들어요. 고맙습니다~.
dir/index.php의 59~76줄 사이에서 (M, S ,N 세개 다)
$arg = “&M”;들은
$arg = “&M”로 바꿔주고,
<a href=”$PHPSELF?path=$webpath&N” rel=”nofollow”>Filename</a>
들은
<a>Filename</a>
이렇게 바꿔줘
그럼 xhtml과 css validator 모두 통과 ^^
윽 태그 먹혔다 -_- code 썻는데 왜 저래 흑
대충 다시 써보쟈;
$arg = "&M";
$arg = " & a m p ; M;";
href="$PHPSELF?path=$webpath&N">Filename
href="$PHPSELF?path=$webpath & a m p ; N;">Filename
대충 떼어서 써봤으.. 잘나올까 -__)a
& a m p ; 요거는 붙여서 써야하는거 알지? (노파심; )
오케이~! 히힛 낼 적용해야겠다~! 꺄홋~
땡큐 덕분에 xhtml validation 에 무리없이 통과 😉
http://validator.kldp.org/check?uri=http%3A%2F%2Fmytears.org%2Ftmp%2Fdir%2F
멋진걸 만드셨군요… 대단해요 ^^b
블로그 제목이… 여성용품틱하군요! ^^
구경 잘 하고 갑니다
업로드, 디렉토리 생성/삭제, 파일 삭제/리네임 기타 등등만 하면 네비게이터가 아니라 충분히 웹기반 파일 매니저로도 쓸 수 있겠는데요. ^^
kldp.net에 올리고 지속적으로 개발해주세요! >ㅅ
… 추가로 쪼금만 살을 덧붙여서 cvs류의 history를 첨가한 다음에 액션에 대한 redo/undo 도 할 수 있다면… +ㅅ+
kirie: 꿱!! cvs + webcvs 를 쓰세요 그건;; 그리고 웹 ftp는 아직 별 생각이 없어서 몰겠네요… 🙂
그리고 아마 kldp.net 에 올리지는 않고 개인 프로젝트 페이지를 만들지 않을까 싶네요
아마도 이런거겠죠?
시작은 간단한 디렉토리 뷰어였으나.. 이런저런 사용자 요구와 개인적인 욕심으로 업데이트를 하다보니, 어느 날 정신차려보니까 디렉토리 뷰어가, 다중 사용자 접속이 가능하고 각 사용자별 쿼터 설정에 디렉토리별 공개/비공개 설정 및 클럽기능까지 갖춘, 거의 상용 웹하드 솔루션에 필적하는 괴물이 되어버렸다는… ㅋㅋ
아.. 갑자기 tao of programming이 생각납니다. ^^
the art of programing 책 재밌나요 ? greate code 같은 데서 다 알고 싶으면 taop 2권을 보세요 뭐 이런게 자주 나오길래 궁금해지는군요 🙂
file navigator의 스킨을 만들어봤습니다.
http://kirrie4u.info/pds/050816_kirrie.tar.gz
애초 생각은 IE의 icon list 형식의 file listing이었는데, 하다보니 영 이상하게 나와버렸습니다. 뭐 그냥 레이아웃을 바꿔봤다는데 의의를 두고.. xhtml validation는 아마 형편없이 에러를 낼 듯.. 추후에 좀 정신을 가다듬고 좀 더 미려하고 정석대로 수정하도록 할까봅니다. ^^;;
디렉토리 표시부분은 WP의 almost spring 테마 소스를 참조했습니다.
와우 특이한 스킨이네요 🙂
svn 에 반영되었습니다.. 헤헷
천재들~
조만간 favicon을 바꿔야겠어~
그냥 없는게 허전해서 file하나 넣어놨더니
bookmarks에서 볼때 bookmarks directory랑 헷갈려 ㅎㅎ
하나 그려야겠넹.. 흠
그새 많이 바뀌었잖아~
어쩐지 뭔가 이상하다 했더니 -_)+ 다시 설치해땅 ㅋㅋ
encoding을 utf-8으로 했는데, 한글로 된 그림 파일의 이름이 깨져보이면 어찌 해야 하나용? 그림파일을 다시 올려야되나 @_@?
아참, 그리고 error.tpl에서 (스킨 두개 다) 화살표 부분을 & l a q u o ;로 바꾸는게 좋을 것 같아~
윽, 나 아침부터 도배했다; 내 코멘트들 하나로 합치면 안될까;
=.=;; 나중에 합쳐주면 안될까 정말;
아침에 시간이 좀 남길래 이것저것 보다 보니깐 실수해 놓은게 왤케 많냐 ㅎㅎ
나중에 스킨 다시 만들어 줄게~~~~~~
필요한것이 있어서 꽁수로 여기저기서 소스 가져다 만들고 있었는데 이쁜놈으로 있네요 잘 쓰겠습니다…
잘 않되거나 궁금한것 여기에 문의 드리면 될런지요
좌우당간 감사합니다. (공개해 주셔셔 ^^)
추가됐음 좋겠다 싶은 것들이 있을 경우에도 말해주세요 🙂
업데이트가 있으면 기존에 쓰고 있던 사람은 덮어 써야 하는 겁니까~?
subversion 에서 긁어다가 쓰는 경우 svn update 를 치면 자동 업데이트 될 거고 아니면~ 덮어써야하지 않을까 🙂
정말 찾던거입니다. ^^;
감사히 잘 쓰겠습니다.!!
smarty 설치법 을 좀 알려주실 순 없으신지???
Smarty 를 받아다가 압축을 풀면 폴더들이 이것저것 나오는데 그 중에 Smarty 라는 디렉토리를 mytrz-directory-viewer 가 설치된 디렉토리에다가 복사해서 넣으면 됩니다.
한글 파일명이 나타났으면 좋겠습니다.
http://mytears.org/tmp/dir/
제 서버에서는 한글 파일명이 나오는데 아무 문제가 없습니다. 🙂 filezilla 등에서 utf-8 로 올리도록 하는 강제로 키는 옵션등을 활성화 하지 않는다면 대부분의 경우 파일이름이 cp949 or euckr 등으로 되어 있을 것이므로 현재 기본으로 스킨에서 인코딩을 utf-8 로 지정해놓은 것 때문에 문제가 있을 지도 모르겠네요.
gif, jpg, png 등의 그림파일이 있을때는 썸네일을 보여주게 기능추가 건의~!
간단하게 파일 몇개 올리고 보여주기는 편할듯
안녕하세요
처음에 작동할 때는 config 폴더 속 모든게 나왔는데 그뒤에 폴더에 새 폴더를 추가하니까 추가한것들이 새로 보이지가 않는데 (처음에 폴더에 있던것들은 지금도 잘 보이고 작동함 , 새로고침하고 apache를 재실행해도 안보임, linux를 껏다 켜도 안됨) 이유를 모르겠어요