2014-09-10 2 views
0

내 PHP 스크립트 에 파일 시스템에서 이미지를로드하고 자바 스크립트에 대한 AJAX 응답을 전달하여 FileReader를 사용하여 이미지를 브라우저에로드합니다. 파일 시스템이 비공개이며 직접 액세스 할 수 없기 때문에 이미지 src을 사용할 수 없습니다.이미지를 파일로 읽는 방법?

유일한 해결책은 imagecreatefromjpg, imagecreatefrompng 등의 함수를 사용하는 것입니다.이 함수의 문제점은 실제 이미지 크기보다 많은 메모리를 소비한다는 것입니다. 내가 원하는 건 이미지를 보통 파일로 전달하고 자바 스크립트가 그것을 처리하게하는 것이다.

편집 :

내가 /개인/이미지에 저장된 일부 이미지가 있습니다. 개인 폴더는 .htaccess를 통한 액세스를 차단합니다. 기본적으로 /public/test.php의 AJAX 요청을 /public/handler.php에 보내면 /private/images에 액세스하고 파일 이름과 확장명으로 지정된 이미지를 되돌려 보내야합니다.

지금까지 몇 가지 이미지 만 테스트 했으므로 이름을 함수 호출에 하드 코딩했습니다.

+3

훨씬 쉬울 것이다. – AbraCadaver

+0

나는 완전히 잃어버린다. HTML 폼에서 이미지를 가져 와서 저장하는 방법을 알고 있지만 src를 지정하지 않고 다시 가져 오는 방법을 알지 못합니다. – ondrejba

답변

1

사용 readfile 및 파일에 대한 적절한 헤더를 보내 : 당신이 당신의 PHP 페이지를로드하는 데 어떤 파일을 알고 방법을 보여 경우

$fileMimeType = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $filePath); 
header("Content-Length: " . filesize($filePath)); 
header("Content-Type: " . $fileMimeType); 
header("Content-Transfer-Encoding: binary"); 
header("Pragma: public"); 
readfile($filePath); 
관련 문제