0
이 질문은 이전에 요청되었지만 대부분의 경우 모든 대답이 아니라 모든 상황에서 작동하지 않거나 불필요한 해결책 (전체 이미지를 다운로드하는 사용)이었습니다.URL이 이미지인지 확인하십시오.
어떻게 특정 URL 이미지 확장를 하드 코딩 할 필요없이 이미지 에 이르게되었는지 확인 것이다 (같은 .png
', .jpg
등)?
이 질문은 이전에 요청되었지만 대부분의 경우 모든 대답이 아니라 모든 상황에서 작동하지 않거나 불필요한 해결책 (전체 이미지를 다운로드하는 사용)이었습니다.URL이 이미지인지 확인하십시오.
어떻게 특정 URL 이미지 확장를 하드 코딩 할 필요없이 이미지 에 이르게되었는지 확인 것이다 (같은 .png
', .jpg
등)?
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
}
서버의 응답 내용 유형을 확인하십시오. 그러나 자세한 내용은 파일을 다운로드하여 분석해야합니다. – Cheery
전체 이미지를 다운로드하지 않고도 안정적으로 수행 할 수는 없습니다. 모든 상황에서 파일 유형을 실제로 읽고 (파일을 필요로하므로) 안정적으로 수행해야하기 때문입니다. (@Cheery가 지적한대로 서버가 당신에게 말할 것을 신뢰하고 있습니다.) – JRL