개발 Q&A

제목 Zip파일 압축과정에 관한 질문입니다.
글쓴이 브레인토스트 작성시각 2016/11/03 17:06:37
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 12773   RSS

요즘 질문이 너무 많은데...

이전 질문대로 일단 pdf파일들을 압축하는 과정은 성공했습니다.

근데 압축하기 이전에 urlencode로 한글파일이름을 변경해서

서버상에 저장을 합니다. 근데 압축하기 이전에 이 파일명을 한글로 바꾸고

바뀐 파일들을 압축하고싶습니다.

너무 불규칙한 파일이름 그리고 너무 길어지고 해당 PDF 파일의 데이터 주인들이

구분이 안가서 너무 보기가 안좋은데요.

현재까지 해본것은 copy, rename 함수 등을 활용해서 해보려고 시도했으나

한글이라는 이유로 알수없는 에러를 뱉으면서 실패합니다.

애초에 위의 함수 자체가 실행이 안되는거죠.

그것도 한글로 파라미터 값이 들어간 경우에만 실행이 안됩니다.

그래서 서버 OS의 인코딩 방식을 수정하려고 해보려다가 너무 일이 커지는 것 같아서..

혹시 제가 하려는 이 로직을 할 수 있는 다른 방법이 있나요??

서버의 인코딩 방식까지 바꿔가면서 해야하나 하는 생각도 들구요;;;

 다음글 서버 구축및 운영에 대해서 질문합니다. (1)
 이전글 PDF의 연속적인 다운로드에 대한 질문입니다. (6)

댓글

한대승(불의회상) / 2016/11/03 17:43:16 / 추천 0

php에는 iconv() 라는 인코딩 전용 함수가 있습니다.

구글링 해보시면 관련 정보가 주르르 나올겁니다.

변종원(웅파) / 2016/11/03 17:56:15 / 추천 0

파일 업로드시 db에 원본파일명(한글), 인코딩된 파일명을 저장합니다.

사용자가 선택한 파일의 인코딩된 파일명을 찾아서 원본파일명으로 대체하고 압축합니다. 끝

브레인토스트 / 2016/11/03 18:01:04 / 추천 0

@한대승

좋은 정보감사합니다 ㅎ

브레인토스트 / 2016/11/03 18:02:30 / 추천 0

@웅파

ㅠ 저도 db를 사용하면 편하겠지만 지금 db까지 사용하지는 않고

코드선에서 해결했으면 좋겠습니다.. 테이블까지 추가하면서 개발해야하는 기능까지는 아니라서..

kaido / 2016/11/04 08:41:40 / 추천 0

@브레인토스트

사실 한글파일을 저장 하겠다는것 부터가 오류입니다.

윈도우 서버에 덱스터 같은 업로드 툴을 사용하면 한글이 가능 하긴 하지만 보통은 윈도우 한글 서버를 쓰지를 않으니..

[참고로 덱스터는 asp 기반 툴입니다.]

 

한글명 저장은 웅파님이 짚어 주신것이 보편적 입니다.

꼭 db가 아니라도 어딘가에는 기록되어야 원본파일명으로 돌려줄수 있죠.

그게 아니면 복호화가 되는 양방향 암호로 암호하고 풀때 풀어서 저장해 주는 방법도 있습니다.

 

솔직히 귀차니즘을 따지면 db가 더 빠를수도 있습니다 ㅎㅎ

브레인토스트 / 2016/11/04 09:18:03 / 추천 0

@kaido

흠..그러려나요.. 귀찮기보단

이게 될까?? 라는 부분이였는데

db를 쓰는 쪽으로 바꿔야겠네요 .. ㅎ

로컬은 윈도우지만 실제 서버는 우분투인데 차이는 없겟죠 ㅠ

브레인토스트 / 2016/11/04 15:34:00 / 추천 0
으으.. 보니 DB쓴다고 해결되는 부분이 아닌것같습니다...
브레인토스트 / 2016/11/04 15:35:19 / 추천 0
urlencode 이름으로 생성된 pdf 파일의 data를 읽어와서 제목부분만 오류없이 decode로 수정해주지 않는한 ...