아니요, Codeigniter로는이를 수행 할 수 없습니다.
일반적으로 PHP와 같은 서버 측 기술을 사용하면 클라이언트와 직접 상호 작용하지 않고 클라이언트에만 컨텐츠를 보낼 수 있습니다. 어떤 콘텐츠를 보내든 그들이 원하는 것을 할 수있는 것은 고객의 몫입니다. javascript와 같은 클라이언트 측 툴을 사용하더라도 (고맙게도) 클라이언트 시스템과의 상호 작용이 제한적일 수 있습니다. 당신이하고 싶은 일은 웹 사이트가 (자동으로) 방문 할 때 소프트웨어를 다운로드하고 클라이언트 컴퓨터에서 실행할 수있게하는 것입니다 ...
이것은 악성 코드라고합니다 ... (제작자가 여러분에게 가져 왔습니다. 브라우저 또는 MIME에 등록 된 응용 프로그램이 있는지 여부에 따라 파일을 다운로드하지 않을 수 있도록
위는 ...
"직접 응답했다)
ActiveX의에 입력 클라이언트 컴퓨터 (있는 경우 해당 응용 프로그램에서 해당 파일을 열 것임)
당신은 일반 PHP는 헤더 조작을 통해 MIME 타입을 설정할 수 있습니다
UPDATE. 다음 예제는 첫 번째 예제로 PHP header()
documentation에서 직접 가져온 것입니다.
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?>
맬웨어는 아니지만 사용자가 파일을 업로드했으며 웹 루트 외부에 파일을 저장했습니다. 사용자는 자신이 업로드 한 파일 만 다운로드 할 수 있습니다. 그래서 나는 Codeigniter에서 경로를 만들고 컨트롤러에있는 해당 기능 내에서 로그인 한 경우에만 (인증 된) 파일을 제공합니다. 나는 file_get_contents를 사용하여 파일을 읽었으며, 이제 파일이 webroot에서 제공되는 것처럼 파일을 다운로드하거나 열도록 브라우저에 알려주는 force_download와 같은 함수가 필요합니다. – bobo
그래서 CI가 클라이언트 브라우저에 파일을 보내는 기능 (예 : HTTP 응답 헤더에서 올바른 MIME을 지정하는 기능)을 브라우저가 처리하도록 결정했는지 알고 싶습니다. force_download의 문제는 클라이언트 컴퓨터의 응용 프로그램에서 일반적으로 등록하지 않은 MIME 형식을 사용하여 브라우저가 파일을 다운로드하도록 강제하는 것입니다. – bobo
업데이트 된 답변 – jondavidjohn