영카트 파일업로드시 에러..
본문
파일업로드시에 file upload failed
라는 문구가 나오는데...
웃긴건.. 업로드 되는파일이 있고, 안되는 파일이 있어요;;
그래서 제가 해본 방법이
1. 이미지용량조절 (업로드 되는 파일과 맞췄습니다..)
2. 이미지사이즈조절 (역시 업로드 되는 파일과 = ...)
3. 파일명이 이상한가하여 이름도 변경..
이미지 형식은 모두 jpg 입니다..
되는파일이 있길래 소스는 잘못된게 아닌듯하여 저렇게 해봤는데도
안되네요;;
아 추가로 또하나 이미지 이름이 baby's 어쩌구 이렇게 시작하는데
이파일을 넣으면 failed가 뜨고 babys 이렇게 ' 를 지우고 넣으면
The uploaded file exceeds the upload_max_filesize directive in php.ini
이렇게 뜨는데... php.ini 안에 내용을 수정해도 안되네요...
파일용량은 2.5메가 정도되고
memory_limit=128M
upload_max_filesize=12M
post_max_size=12M
max_execution_time=30
display_errors=On
date.timezone=Berlin/London
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
session.save_path="/tmp"
magic_quotes_gpc=Off
php.ini 내용입니다...ㅠ
도와주세요...
답변 1
* upload_max_filesize = 2M
php 파일 업로드 최대용량입니다. 기본 2M... 이걸 늘려주면 됩니다. 100M로..
* post_max_size = 8M
post 전송 최대용량입니다. 파일 업로드를 하게 되면 대부분 post 방식으로 서버에 전송됩니다.
이 용량이 부족하면 전송에 실패하기때문에 파일 업로드 용량과 더불어 변경이 필요합니다.
" 파일업로드 용량 + 나머지 데이터 용량(10M 정도) " 으로 설정하면 됩니다.
* max_execution_time = 30
php 실행시간입니다. (단위 : 초) 이 시간을 초과하면 php 실행이 중단됩니다.
무한 루프에 빠지는 것을 막기위한 설정입니다.
대용량(1G이상)을 처리하기위해서는 긴 시간이 필요하므로 늘려주는 것이 좋습니다.
* max_input_time = 60
get, post , 파일업로드 등의 입력 데이터를 받아드리는 최대시간입니다.
그러니까 파일 업로드의 실제 시간이 되겠죠.. 이것을 초과하면 파일업로드는 당연히 실패됩니다.
대용량(1G이상)을 첨부하기위해서는 -1(무제한)값으로 설정하는 것이 좋습니다.
* memory_limit = 128M
php의 메모리 사용량입니다. 파일 업로드시 업로드된 파일은 먼저 메모리에 적재되므로 메모리 사용량이 넉넉해야됩니다.
@ 결과적으로 post_max_size 값 > upload_max_filesize 값 >= memory_limit 값 이 성립해야 파일업로드가 실패되지않습니다. 따라서 memory_limit 값이 최대 업로드 가능 용량이 됩니다.
php.ini 설정완료에는 항상 php 서비스를 재시작 시켜줘야합니다.