2012-05-23 3 views
0

나는 사용자가 업로드하고있는 이미지의 크기를 얻기 위해 getimagesize()를 사용했고,이 이미지를 처리 ​​할 메모리가 충분한 지 확인했다. 문제는 getimagesize()가 치수를 읽기 전에 파일을 서버로 다운로드한다는 것입니다. 그래서 그것의 잡기 22. 이것은 아주 일반적인 문제가되어야합니다. 그러나 나는 보편적 인 해결책을 발견 할 수 없습니다. 원격 이미지 크기를 다운로드하지 않고도 얻을 수있는 확실한 방법이 있습니까?업로드로 허용하기 전에 원격 이미지 크기를 가져 오시겠습니까? 너무 느리다. getimagesize() 너무 느리다.

+0

같은 문제가 있습니다. 내가 말할 수있는 한, 당신이 차원을 필요로한다면'getimagesize()'는 –

답변

3

이미지에 대해 HEAD HTTP 요청을 보냅니다. 이렇게하면 응답 헤더가 표시되지만 실제 본문 (이미지)은 전송되지 않습니다.

그런 다음 해당 헤더를 읽고 을 찾으십시오. 이미지의 크기를 바이트로 표시하는 숫자입니다. 이를 사용하여 이미지를 처리 ​​할 메모리가 충분한 지 확인할 수 있습니다.이 경우 요청을 getimagesize() 기본적으로 수행하는 것입니다.

+0

이 될 것인가? –

+0

@Kolink도 그 방법에서 이미지 크기를 얻을 수 있습니까? – Mark

+0

이 방법은'.htaccess' 파일에'upload_max_filesize'를 설정하는 것보다 이점이 있습니까? – jeroen

관련 문제