CI 묻고 답하기

제목 file upload에서 overwrite와 encrypt_name의 동시 사용 불가
글쓴이 알바생 작성시각 2014/07/04 18:27:19
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 15763   RSS

제목 그대로입니다. 파일 업로드에서 config를 설정할 때,

overwrite = true,
encrypt_name = true

로 해놓으니까 파일명을 그대로 저장하더라구요. overwrite를 끄면 암호화가 잘 됩니다.
라이브러리 코어 소스를 보니 do_upload()에서 다음과 같이 되어있더군요;;

...중략...
if($this->overwrite == FALSE)
{
    $this->file_name = $this->set_filename($this->upload_path, $this->file_name);
    if($this->file_name == FALSE)
    {
        return false;
    }
}

set_filename()에서 encrypt_name의 여부를 따져 암호화를 시키던데, overwrite가 true면 그 과정을 무시하니까 결과적으로 암호화를 시키지 않는 것 같습니다만.. 이렇게 되어있는 어떤 특별한 이유가 있을까요 ㅠㅠ

가급적이면 코어를 건들지 않고 싶은데, CI 룰 안에서 다른 우회 방법이 있다면 한 수 부탁드립니당...

 다음글 (return) 복귀주소값에 대해 궁금한점이 있습니다. (4)
 이전글 초반에 한번만 db에서 값을 불러오는 방법 (4)

댓글

변종원(웅파) / 2014/07/04 18:41:27 / 추천 0
매뉴얼 보시면 암호화는 중복되지 않는 파일명으로 저장할때 사용을 합니다.
overwrite는 말 그대로 중복파일명이 있을때 덮어 쓰는걸 의미합니다.
그렇다보니 overwrite가 true이면 암호화는 의미가 없는거죠.
overwrite와 암호화의 의미를 잘못 알고 계신것 같습니다. ^^

그래도 바꾸고 싶으시면 매뉴얼 참고해서 파일업로드 라이브러리를 확장하셔서 사용할 수 있습니다.
http://cikorea.net/user_guide_2.1.0/general/core_classes.html  코어클래스 확장 참고
알바생 / 2014/07/05 15:18:33 / 추천 0
암호화를 시키긴 하는데, 정말 혹시나 그럴 일은 없겠지만.. 중복되면 덮어 쓰게끔 하려고 하는건데염..

이런 고민은 무의미한걸까요..?