현재 짜고 있는 것.

간단한 설정 후 호출하는 것만으로 다중 파일 업로드가 가능한 메쏘드를 작성 중입니다. 파일 업로드가 필요한 경우, 매번 똑같은 루틴을 박아넣을 필요 없이 적당한 위치에서 호출만 해 주면 됩니다. 업로드 체크, 파일 확장자 검사, 용량 검사, 가로세로 너비 검사 등을 다 해 줍니다. 다시 말해서- A.html 에서 input type='file'로 POST 전송을 하면 이걸 받은 B.php에서 mh_files->upload()만 해 주면 끝인 거죠. 물론 어디다 넣을 건지, 제한해야 할 파일 확장자나 어느 너비를 넘으면(또는 그 미만이면) 뭐라뭐라 해라 정도는 설정해줘야 합니다.

현재 파일 업로드까지는 원활하게 되고 있습니다. 다만 보강해야 할 것이 -

1) 여러 개 올렸을 때 중간에 하나 실패한 경우, 지금까지 올린 걸 몽땅 지우거나(해당 디렉토리도 지움)
2) 에러난 것만 빼고 올리거나(디렉토리 유지, 만약 에러 직후 디렉토리가 비어 있으면 지움)

- 하는 경우를 옵션으로 지정해 처리할 수 있게 해야 합니다. 근데 1,2,3,4 가운데 3에서 에러가 나면 결국 4도 안 되는 거니까 2번 항목처럼 에러난 것만 빼고 올리는 건 의미가 없겠다 싶기도 합니다. 그냥 날리게 할까봐요. 뭐…그리고 지우는 옵션이 POST로 들어왔을 때 해당 파일을 지우는 것도 염두에 두어야 하겠고.

이 메쏘드는 기본적으로 DB 테이블에 목록을 작성하지 않으므로 한 디렉토리 안에 파일들이 구별 없이 섞여 들어갑니다. 따라서 한 디렉토리 안에 여러 파일을 두고 경우에 따라 달리 처리하게 하는 방식은 쓰지 못합니다. 그 경우는 루틴을 따로 짜야겠지요. 그러니 한 게시물(혹은 경우)에 디렉토리 하나를 배정하는 방식으로 가야 합니다. 디렉토리명은 당연히 아이디 내지는 타임스탬프를 써야겠죠.



이 녀석이 끝나야 DB 쪽을 손 볼 텐데 - 벌써 5시 반입니다. 생각보다 무진장 오래 걸리고 있습니다. 낮에 프로젝트 회의 있는데… 난감하군요.


......................


한글파일명 처리를 하려면

1) DB를 써서 이름을 바꿔주거나
2) 목록용 파일을 각 디렉토리마다 하나씩 집어넣고 그 안에 원 파일명과 바꾼 파일명을 기재한다든가
3) 아예 파일 이름이 한글인 경우 업로드를 금지한다든가

해야 합니다. 귀찮아서 3번으로 갈까 고민 중입니다.

왜냐면, 대부분 그림파일 처리 때문에 필요한데 정작 그림파일명이 한글인 경우 브라우저 설정 때문에 안 나오는 경우가 많기 때문이죠.


......................


현재 9시 20분.
에러 처리 루틴까지 짜놓고 있는 상황. 부품이 늘어갑니다.

뭐라도 계속 짜고 있지 않으면 미칠 것 같아서.
계속 붙들고 있습니다.

by 서찬휘 | 2007/01/29 05:31 | 셈틀놀이 | 트랙백 | 덧글(2)

트랙백 주소 : http://seochnh.egloos.com/tb/1499238
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by DECRO at 2007/01/29 09:54
한글 파일인 경우 국제화가 어려워서 금지하는것이 이로모로 좋습니다. 아직까지 영어 이외의 언어를 완벽히 지원하는 OS조차 없고. 그 전에 영어도 완벽히 지원되는 것조차.....
Commented by 서찬휘 at 2007/01/29 19:46
이글루스마냥 아예 파일명 자체를 바꿔놓고 원래 파일명도 뭐였나 모르게 할 수도 있겠죠. (…)

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶