2014-11-24 2 views
0

이 질문은 이전에 요청되었지만 대부분의 경우 모든 대답이 아니라 모든 상황에서 작동하지 않거나 불필요한 해결책 (전체 이미지를 다운로드하는 사용)이었습니다.URL이 이미지인지 확인하십시오.

어떻게 특정 URL 이미지 확장를 하드 코딩 할 필요없이 이미지 에 이르게되었는지 확인 것이다 (같은 .png ', .jpg 등)?

+0

서버의 응답 내용 유형을 확인하십시오. 그러나 자세한 내용은 파일을 다운로드하여 분석해야합니다. – Cheery

+0

전체 이미지를 다운로드하지 않고도 안정적으로 수행 할 수는 없습니다. 모든 상황에서 파일 유형을 실제로 읽고 (파일을 필요로하므로) 안정적으로 수행해야하기 때문입니다. (@Cheery가 지적한대로 서버가 당신에게 말할 것을 신뢰하고 있습니다.) – JRL

답변

1

CURL로 파일 헤더 만 읽을 수 있으며 헤더가 이미지 헤더인지 아닌지를 감지 할 수 있습니다.

curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $file_url); 
curl_setopt($curl, CURLOPT_NOBODY, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$header = curl_exec($curl); 
curl_close($curl); 
if (strstr($header, 'image/png')) { 
//file is image 
} 
관련 문제