CI 묻고 답하기

제목 첨부파일 다운로드시 파일이 깨지는 이유가 뭘까요?
카테고리 CI 2, 3
글쓴이 보라색맛났어 작성시각 2022/03/04 11:55:44
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 7916   RSS
public function download() {
        $this->load->helper('download');
        $no = $this->input->get('no');
        
        $fileInfo = $this->Board_model->chkFiles($no);

        $file_path = $fileInfo['file_dir'] .'/'. $fileInfo['file_save_name'];
        $file_size = filesize($file_path);
        $path_parts = pathinfo($file_path);
        $file_name = $fileInfo['file_name'];
        $extension = $fileInfo['file_ext'];
        
        /*
        Header("Content-Type: application/octet-stream");
        Header("Content-Disposition: attachment;; filename=$file_name");
        Header("Content-Transfer-Encoding: binary");
        Header("Content-Length: ".(string)(filesize($file_path)));
        Header("Cache-Control: cache, must-revalidate");
        Header("Pragma: no-cache");
        Header("Expires: 0");
        ob_clean();
        flush();
        readfile($file_path);
        */


        $data = file_get_contents($file_path);
        force_download($file_name, $data);

    }

 

 

 

첨부파일 다운로드를 하는데 파일이 깨져서 열리지 않는데 문제점을 잘모르겠습니다

file_save_name은 서버에 저장된 파일이름이고 file_name은 원본파일 이름입니다

 

다운로드를 했을 때 서버저장 이름이든 원본이름이든 다운 받으면 파일이 깨져서 열리지가 않네요 

header 형식이든 force_download든 마찬가지인 상황인데 뭐가 문제일까요? 

 다음글 CI3 url 헬퍼 redirect가 안됩니다 (3)
 이전글 service(), Factories 차이가 무엇인가요... (2)

댓글

변종원(웅파) / 2022/03/04 12:25:15 / 추천 0
ftp로 해당파일 받아서 보세요. 올릴때 깨진게 아닌지.
디버깅 방식이 여러가지 있습니다. ftp로 정상파일 올려놓고 해당 프로그램으로 다운로드 해보면 프로그램 문제인지 파일 문제인지 알수 있구요
보라색맛났어 / 2022/03/04 12:35:40 / 추천 0
가상서버라서 .. 우선 로컬에 업로드된 파일은 잘 열립니다 그런데 다운로드 받을 때 저렇게 깨지는 이유를 알 수가 없네요 ㅠㅠ
PureAni / 2022/03/04 13:15:52 / 추천 0

파일 용량은 동일한가요?

다운받은 파일과 원본 파일의 용량을 한번 확인해보세요.

보라색맛났어 / 2022/03/04 13:30:46 / 추천 0
원본파일과 업로드된 파일용량은 동일합니다    
테러보이 / 2022/03/04 17:35:10 / 추천 0

https://stackoverflow.com/questions/14835671/codeigniter-force-download-files

경로라든지 하나씩 찍어 보며 정상적인지 체크 하셔야할듯합니다.