CI 묻고 답하기

제목 파일 업로드 클래스를 통해서 동영상 업로드
카테고리 CI 2, 3
글쓴이 주말생각 작성시각 2021/01/25 11:29:47
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 8783   RSS

CI 3.0을 사용 중이고 포럼에 이전 글을 찾아보니 동영상을 업로드할때도 파일 업로드 클래스를 사용하는 것으로 알고 있습니다. 그래서 이미지 업로드와 동일하게 아래 코드를 작성했습니다. 설정 부분만 따로 메소드를 만들어서 allowed_types 부분을 업로드할 동영상 확장자로 변경하였습니다. 

 

private function settingVideoConfig($path){

        $config = [

            'upload_path'   => $path,

            'allowed_types' => 'mp4|avi|wmv',

            'max_size' => '20480'

        ];

        return $config;

    }

그런데 업로드는 실패했고 $this->upload->display_errors()를 통헤서 오류 메세지를 확인해보니

The filetype you are attempting to upload is not allowed.라면서 파일 형식이 허용되지 않는다고 나옵니다. 제가 무언가 실수한 부분이 있나요. 이미지 업로드는 잘 되고 설정만 따로 동영상용으로 만들면 될 줄 알았는데

 다음글 CI3 서버 이관 후 upload 라이브러리로 파일 업... (6)
 이전글 ci session과 php session을 함께 사용... (3)

댓글

한대승(불의회상) / 2021/01/25 11:32:22 / 추천 0

업로드되는 파일이 확장자에 매핑된 파일 형식과 다른경우 발생합니다.

application/config/mimes.php

파일의 확장자와 파일 형식 확인해 보세요.

변종원(웅파) / 2021/01/25 12:12:39 / 추천 0
눈에 보이는 걸 믿으면 안됩니다. 확장자는 누구나 수정할 수 있는거라서요. ^^
주말생각 / 2021/01/25 13:17:12 / 추천 0

@한대승

application/config/mimes.php에 retrun Array안에 'mp4'   => 'video/mp4', 라고 되어 있는데 문제 부분을 어떻게 확인해야 하나요? 테스트용 mp4파일을 업로드하는데 웹에서 아무거나 구해서 업로드해서 그런걸까요?

@변종원

인코딩 프로그램으로 다시 mp4로 변경해야 할까요?

PureAni / 2021/01/25 13:40:12 / 추천 0

.mp4 파일이 mp4 인코딩이 아니라, avi나 mkv 파일수 있습니다.

php mime type 찍어보시면 될듯합니다.

mp4 파일로 재인코딩해서 업로드가 성공적으로 되신다면, 먼저파일이 mp4 인코딩이 아니었을 확률이 큽니다.

mp4 파일로 재인코딩해도 업로드에 실패하신다면, 그건 서버쪽에서 mime type 을 재대로 못잡고 있을 수 있습니다.

주말생각 / 2021/01/25 13:41:26 / 추천 0

@PureAni 

답변 감사합니다.