2012-03-22 3 views
0

내 서버에이 PHP 스크립트를 사용하여 이미지를 표시하고 싶습니다.PHP를 통해 이미지를 표시하는 특정 Apache 구성 설정?

$file = fopen('/Volumes/PROMISE/products/jpeg/89239-282.jpg', 'rb'); 
header('Content-Type: image/jpeg'); 
fpassthru($file); 

하지만 난이 깨진 이미지를 얻을이 스크립트는 테스트 목적으로 지금, 내 인덱스 파일의 상단에, 그래서 난 내 인덱스 파일에있는 그것의 유일한을 가리키고, 프로그래머 헤더 문제를 같아요. ..

나는 운이없이, 파일이 지정된 경로에 존재하고 그것은 777 권한을 갖고,

echo file_get_contents('/Volumes/PROMISE/products/jpeg/89239-282.jpg'); 

aswell를 사용하여 시도했습니다.

내 마지막 생각은 아파치 서버의 일부 설정 일 수 있다는 것입니다 ..? theres가 심상을 제동 할 수있는 조정조차 경우에 cognize?

이이 내가 mime.types 파일 및 이미지/JPEG가 활성화되어 확인 httpd.conf 파일

Options All -MultiViews -ExecCGI -Indexes 

에서 설정되는 htaccess로 파일 설정

Options +FollowSymlinks -Multiviews 

입니다.

그래서 내 질문은 짐작합니다. 아파치 설정이 내 이미지를 망칠 가능성이 있습니까?

편집 :

내가 내 로컬 컴퓨터 작동에 PHP 남자

// Create a blank image and add some text 
$im = imagecreatetruecolor(120, 20); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color); 

// Set the content type header - in this case image/jpeg 
header('Content-Type: image/jpeg'); 

// Output the image 
imagejpeg($im); 

// Free up memory 
imagedestroy($im); 

에서 코드를 사용하여 시도,하지만 우리 서버. 빈 페이지와 오류가 발생하지 않습니다. 내가 두 번째 PARAM으로 imagejpeg 사용하고 바탕 화면에 저장하는 경우

, 모든 벌금과 내가 본

+0

깨진 이미지를보고 PHP 오류 메시지가 있는지 확인 했습니까? –

+0

error_log를 확인하십시오. – Cfreak

+0

Fiddler 또는 비슷한 도구를 사용하여 실제로 클라이언트 측에서받는 16 진수 덤프를 보았습니까? – SirDarius

답변

1

완전히 볼 수있는 그 문제에 많은 시간을 것 같다. 그렇게하지 않았다면 텍스트 편집기로 깨진 이미지를 열어 문제가 있는지 확인하십시오. 결과 파일과 원래 파일 (서버에서)을 비교해보십시오.

염두에 두는 가능한 오류 : 이미지에 공백이나 공백이있는 PHP주의 또는 경고 표시. 예를 들어, 여는 전에 빈 줄이 있으면 이미지가 손상 될 수 있습니다.

+0

내가 사용하는 컴퓨터에서 이미지를 시도했지만 동일한 이미지가 작동하고 표시됩니다. 그것은 로그에 오류를 보여주지 않으며 서버와 컴퓨터에서 해시를 실행하면 정확히 동일한 md5 해시가 작동합니다. 서버에서 깨진 이미지를 표시합니다. im lost – Patrick

+0

어쨌든 두 파일에 대한 링크를 게시 할 수 있습니까? – Tchoupi

+0

빈 문자가 출력물을 엉망으로 만듭니다. – Patrick