2009-11-23 9 views

답변

2

당신은 자바 스크립트에서 그것을 할 수 없습니다.

비동기 메시지를 크기를 가져 오는 비동기 메시지로 보낸 다음 javascript를 사용하여 표시 할 수 있지만 전체 JS 방법은 없습니다.

+0

이미지는 업로드 될 예정이지만 아직 업로드되지 않았습니다. PHP로 크기를 확인하려면 어떻게해야합니까? – Mask

+0

파일에 액세스하려면 파일을 업로드해야합니다. http://php.net/manual/en/function.filesize.php –

+0

파일을 업로드해야하고 일반적인 PHP를 사용할 수 있습니다. 내가 아는 것이 최선은 아니지만 프론트 엔드에서 파일 크기를 확인할 수는 없습니다. – marcgg

1

사용자가 할 수있는 최선의 방법은 X 바이트보다 작은 이미지 만 허용된다는 것입니다. php.ini에 정의 된 최대 업로드 크기보다 작은 이미지를 업로드하는 것을 막을 수 없습니다.

PHP에서 이미지를 가져온 다음 서버 측에서 크기를 확인하고 너무 큰 경우 오류 메시지를 표시하십시오.


물론 AJAX를 사용할 수 있습니다. 원하는 경우 this one과 같은 AJAX 업로드 컨트롤을 사용하십시오. 검사는 여전히 서버 측에서 수행되지만 페이지는 대화식 및 민첩함을 느끼게됩니다.

1

서버로 전송하기 전에 플래시 업 로더를 사용하여 파일 크기를 가져올 수 있습니다. 예를 들어 jquery 플러그인 (예 : uplodify.com) 또는 YUI Uploader. 그러나 어떤 경우 든 POST 배열 $ _FILES를 검사하여 PHP 측을 다시 확인해야합니다.

1

업로드가 시작되면 브라우저는 이미지 파일 크기를 HTTP 헤더의 일부로 서버에 보냅니다. 따라서 이미지의 몇 KB가 전송되고 업로드를 중단하기 전에 크기를 확인할 수 있습니다. 전송을 위해 데이터를 인코딩 할 수 있기 때문에 크기가 정확하지 않으므로 크기가 너무 커질 수 있습니다. 필요

0

없음 서버 측 :

padding:0display:"inline" (폭 붕괴 있도록 필요 "인라인")의 페이지로 빈 div를 추가하지 않습니다. jQuery 또는 다른 js 프레임 워크를 사용하여 div에 이미지를 놓습니다. div은 이미지에 맞게 크기가 조정됩니다. jQuery는 이미지의 너비/높이 인 div의 올바른 너비/높이를 반환합니다.

스타일에서 고정 값으로 설정되어 있지 않으면 js가 너비/높이를 반환하지 않으므로 javascript 만 사용하면 작동하지 않습니다.

+0

이미지가 거의 항상 압축되기 때문에 너비와 높이가 파일 크기를 알려주지 않습니다. swfupload 또는 uploadify와 같은 더 많은 옵션을 제공하는 솔루션을 고려해보십시오. – Nosredna

+0

죄송합니다, 당신은 Nosredna 맞습니다. 내 솔루션은 파일 크기가 아닌 이미지 크기입니다. 죄송합니다. – wpjmurray

관련 문제