2013-06-27 1 views
0

주위의 다양한 HTML 요소의 크기를 조정하기 위해 이미지 크기를 확인하는 사이트가 있습니다. 이미지 URL은 데이터를 통해 들어오고 원격으로 호스팅되기 때문에 미리 이미지 크기를 알지 못합니다. 나는 getimagesize를 사용하고 있었고 이것은 (비록 천천히) OK 일을하는 것처럼 보였지만, 이제 getimagesize에서 얻는 이미지 크기가 이미지 파일의 크기가 아니라 실제로 끝나는 상황을보고 있습니다. . 이미지 URL은 파일을 직접 가리키는 것이 아니라 이미지를 제공하는 스크립트를 가리키고 있으므로 어떻게 든 제공되는 이미지 파일이 getimagesize 검사와 실제 다운로드 사이에서 변경되고 있다고 가정합니다.원격 이미지 서버가 getimagesize가 액세스하는 파일과 다른 파일을 제공합니다.

누구든지이 문제를 다뤘습니까? 올바른 크기를 얻을 수있는 서버 측 솔루션이 있습니까? 아니면 이미지가로드 된 후 JS 솔루션으로 이동해야합니까? 브라이언

+0

나는 당신의 CSS를 조정할 것을 권한다. PHP 나 JS에서 다루지 않아도된다. 여기에 HTML 코드를 게시하면 도움이됩니다. –

답변

0

image.onload를 설정하지 않아도 이미지를로드하자마자 실제 이미지 크기를 잡고 페이지를 조정할 수 있습니까?

+0

미안하지만, 알아 냈어. 이미지 URL에는 getimagesize와 실제 다운로드에 의해 다른 방식으로 처리 된 HTML 엔터티가있었습니다. 그러나, 내가 getimagesize로 얻는 속도가 느린 것을 감안할 때, 이것들은 조사 할 좋은 제안이다. 응답 해 주셔서 감사합니다. –

0

이미지 파일을 임시 파일로 다운로드 한 다음 파일에서 getimagesize()을 호출 할 수 있습니다.

documentation에있는 의견 중 하나에 따르면, 그것이 본질적으로 getimagesize($url)의 작동 방식입니다. 그래서 왜 다른 차원을 얻고 있는지 잘 모르겠습니다. 이미지 파일이 변경되는 경우 PHP 스크립트가 브라우저에 표시되는 크기를 얻는 방법이없는 것처럼 보이므로 이미지 뒤에있는 Javascript 솔루션을 사용해야합니다 짐을 실은.

0

이미지에 전달되는 이미지 URL은 실제 이미지 다운로드 및 getimagesize에 의해 다르게 처리 된 HTML 엔터티를 포함합니다.

관련 문제