사용자로부터 이미지를 가져 오려고합니다. 이제 파일 크기가 2MB를 넘으면 내 스크립트는 사용자에게 2MB의 파일 크기 제한이 있다는 메시지를 반환해야합니다. 이를 위해 다음과 같은 확인을했습니다. -파일 크기가 2MB를 초과하면 getimagesize가 경고를 반환합니다.
if($_FILES["QuestionImage"]["size"] > 2097152){
echo "File size is more than 2 MB";
}else{
$check = getimagesize($_FILES["QuestionImage"]["tmp_name"]);
......
}
그러나 파일 크기가 2MB보다 크면 스크립트는 여전히 else 섹션에 저장됩니다. 왜 이런 일이 일어나는지 모르겠습니다. 나는 1 MB의 제한으로 테스트했고 1.4 MB의 파일을 업로드하려고 시도했다. 이 경우 코드가 완벽하게 작동합니다. 그러나 동일한 코드에서 파일 크기가 2MB이면 여전히 else 섹션에 들어가고 getimagesize는 오류를 반환합니다. 어떤 포인터?
2MB보다 큰 테스트는 무엇입니까? 5MB와 같은 것을 테스트하고 있습니까? 나는 2087152 바이트가 정확히 2MB라고 생각하지 않는다. –
'$ _FILES [ "QuestionImage"] [ "size"]'의 값을 출력하고 기대 한 것이 맞는지 확인하십시오. – ceejayoz
그건 오타였습니다. 나는 그것을 바로 잡았다. – soumyajyoti