문서 루트 외부에서 이미지를 표시하려면 어떻게해야합니까? 정확히 말하면루트 디렉토리 외부의 codeigniter에 이미지를 표시하려면 어떻게해야합니까?
/ <-- root directory
/public_html/ <-- document root
/application/upload/img <-- here is the source of image
내가 codeigniter에서 만든 것으로 작동하지만 여러 번로드하려고하면 큰 지연이 있습니다. 나는 codeigniter에서 도움을주고 파일을로드하는 시간을 늘리는 도우미 함수이다. 당신이 당신의 서버가 작동하기를 원할 것입니다 경우
public function img($img_name){
$t = $this->getupload->Get($img_name); // here is taked from DB using MODEL
header("Pragma: public");
header("Content-type: {$t[0]['file_type']}"); // Take the file type (eg: images/jpg) from DB
header('Content-Transfer-Encoding: binary');
flush();
readfile($t[0]['full_path']); // here take the imgfile from DB
}
왜 파일을 공용 디렉토리로 이동하지 않는 것이 좋을까요? 현재 앱에서 이미지를 메모리에 복사 한 다음 뱉어 내야합니다. HTTP 서버가 내장 된 것을 수행하는 것이 더 빠를 것입니다. – castis
@castis 내가 생각할 수있는 유일한 이유는 이미지가 사용자가 제출했기 때문입니다 (폴더 이름이 '.../upload/...'인 것으로 보입니다). 사용자가 웹 루트에 자료를 업로드하는 것을 허용하지 않습니다. –
@Jonathan Kuhn 맞습니다. 안전한 업로드를 원하고 "해커"가 업로드 된 파일에 대한 액세스 권한이 없도록 스크립트를 중단하려고합니다. – Cosmin