개발 Q&A

제목 이미지 업로드 게시판 구성 관련 질문있습니다.
글쓴이 보리 작성시각 2015/08/06 20:43:25
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13135   RSS
안녕하세요. 초보개발자입니다..

처음으로 게시판을 만들어 보려고 하니 막히는게 많네요..
그래서 이렇게 도움을 요청합니다.

1.우선, 이미지를 여러개 업로드 하려면 DB테이블을 어떻게 구성해야 하는건가요?
  이것저것 검색해보니 , 첨부파일의 경우 내용이 있는 테이블과 분리해서 구성한다고 하는데,
  이미지를 여러개 업로드 해야 하는경우를 대비해서 테이블을 어떻게 구성해야 하는지 알고싶습니다.

2. 업로드한 이미지가 저장된 폴더를 어떤방식으로 관리해야 하나요? 
   모든 게시판, 회원의 이미지를 /uploads/ 폴더 하나에 저장하면 문제가 있을 것 같은데
   이미지파일 저장하는 폴더를 관리하는 노하우 같은게 있으면 알려주세요.

3. bootstrap과 jquery mobile을 같이 사용할 수 있나요? 
   그리고 jquery mobile 디자인부분(버튼이나 grid 등 )을 자신에게 맞게 수정하고 싶다면
  어느 부분을 건드려야 하나요?

며칠동안 검색을 했는데 답을 찾기가 어렵네요. 검색하는 능력이 부족해서인지..
많은 도움 부탁드립니다.
 
 다음글 jquery 질문드려요 (2)
 이전글 insert, update, delete 후 새로고침하... (1)

댓글

kaido / 2015/08/07 12:31:06 / 추천 0
1. 구성 방법은 여러가지 있습니다. 형태에 따라서 구성방식이 다릅니다만

기본적으로 

게시판 
파일 업로드    [데이터]
파일 업로드 관리 [설정]

이런 관계로 구성 됩니다.

요약하면 파일 업로드 테이블은 key 값만 매칭 시킬수 있게 자료를 생성 하시면 됩니다.

2. 폴더를 생성 하는 방법이 있긴 하지만, 파일량이 매번 수시로 많지 않는 이상 폴더를 만들기 보다는 파일명을 유니크하게 줍니다.
애초에 파일명을 한번 암호화 해야합니다. 한글과 특문 파일명은 링크가 깨지기 때문이죠. [최소한 urlencode는 해줘야합니다]
예 : 유니크_시간_파일명.jpg
그리고 암호전 원본 파일명과 암호후 파일명을 같이 DB에 기록 합니다.

3. 두가지를 동시에 사용 가능합니다만 비추천합니다. jquery mobile이 무겁거든요.
디자인 변경은 안에 들어있는 css 를 수정 하시거나
해당 클래스 선언의 값을 무시하고 커스텀 하는 방법이 있습니다.


 
보리 / 2015/08/07 16:10:29 / 추천 0
/kaido 님 답변감사합니다.^^

1번 이해는 갈 것 같은데.. 예를 들어 주실수 있으신가요? 게시판테이블 필드|값 파일테이블 필드|값 이런식으로..부탁드립니다.
2번 같은경우에는  파일 이름을 유니크하게 구성하기때문에 폴더를 나눌필요없다는 말인가요?

 
 
kaido / 2015/08/07 16:37:39 / 추천 0

1. 그누보드 체계로 예를 들면

board
[id pk
.... 생략
] 

img
[id pk
board_id
file_name //암호된 파일명
file_name_org   //원본파일명
file_size
...생략
]

board_conf
[
board_id_code //게시판 고유 아이디
board_title    //게시판 이름
...생략
]

이렇게 3가지가 구성이 되고

게시물에 파일을 업로드 할 시에

가령 게시물 id 가 5 번 이라 치고

파일 id  가 15번 16번 이라 하면

from board AS B
left join img as M  on M.board_id = B.id
이렇게 아웃터조인으로 붙이면 해당 게시물의 이미지 파일들이 나옵니다.

board_id    ...    img.id   img.file_name
5                | .... | 15      | file_name
5                | .... | 16      | file_name

board_conf 가 있는 이유는
게시판이 여러개일 경우 어느 게시판에서 올린것인지 알기 위함입니다.

in in 조인 하시면 어느 게시판에 어느 파일인지 알수 있겠죠?


2. 네. 파일이 많지 않다면 폴더를 나누지 않으셔도 좋습니다.
카테고리별로 나누실 거면 카테고리별로 하셔도 좋구요.
아니면 회원의 닉네임이나 id 의 앞에 2~4자리 잘리서 id_time 형식으로 폴더를 생성 해도,
어지간 하면 겹치지 않습니다.
보리 / 2015/08/07 17:44:11 / 추천 0
kaido/ 님 답변 정말정말 감사드립니다.^_^
덕분에 복잡했던게 해결되었습니다.
감사합니다.!