제목 | upload library 사용 파일 업로드시 max_size 에러 메세지문제 | ||
---|---|---|---|
글쓴이 | 박기천 | 작성시각 | 2014/02/27 17:27:06 |
|
|||
upload library 사용 첨부파일을 업로드하고 있습니다 문제는 php.ini에 설정된 용량보다 큰것을 올리게 되면 $this->set_error('upload_no_file_selected')로 에러가 발생합니다 메세지는 You did not select a file to upload로 출력됩니다 만일 max_size에 1M를 설정하고 php.ini에 5M 가 설정 되어있다고 가정할 때 3M를 올리면 The file you are attempting to upload is larger than the permitted size.로 정상 출력되는데 6M를 올리게되면 You did not select a file to upload가 출력되고 있습니다 어디에 문제가 있으며 무엇을 수정해야 할까요? |
|||
다음글 | 리눅스 apm 최신버전 바꾸려고하는데요? (1) | ||
이전글 | 부모창이 닫히면 자식창도 저절로 닫히게 하는 방법은 없... (3) | ||
변종원(웅파)
/
2014/02/27 19:13:57 /
추천
0
|
박기천
/
2014/02/28 11:18:09 /
추천
0
웅파님
public function do_upload($field = 'userfile') {
// Is $_FILES[$field] set? If not, no reason to continue.
if ( ! isset($_FILES[$field]))
{
$this->set_error('upload_no_file_selected');
return FALSE;
}
$lang['upload_no_file_selected'] = "You did not select a file to upload."; 위에서 에러가 걸리는것같은데 실제 첨부 안한것과 php.ini의 요량을 초과한는것을 구분하여 분기를 어떻게 해야 할까요? |
한대승(불의회상)
/
2014/02/28 11:39:16 /
추천
0
박기천// $this->upload->display_errors() 함수로 확인하여 처리 하세요.
http://cikorea.net/user_guide_2.1.0/libraries/file_uploading.html |
박기천
/
2014/02/28 12:10:20 /
추천
0
불의 화상님
소스는 아래와 같이 하고 $this->upload->display_errors('','')를 사용하였습니다 function only_upload_file(){ $upload_folder = $this->_upload_folder_path(BOARD_UPLOAD_FILE_FOLDER); // 사용자가 업로드 한 파일을 /data/file/ 디렉토리에 저장한다. $config['upload_path'] = $upload_folder; // git,jpg,png 파일만 업로드를 허용한다. $config['allowed_types'] = 'jpeg|gif|jpg|png|bmp|zip|rar|doc|hwp|pdf|ppt|xls|pptx|docx|xlsx|txt'; //$config['allowed_types'] = 'xls|xlsx'; // 허용되는 파일의 최대 사이즈 $config['max_size'] = '7200'; // 이미지인 경우 허용되는 최대 폭 $config['max_width'] = '0'; // 이미지인 경우 허용되는 최대 높이 $config['max_height'] = '0'; //파일이름은 랜덤하게 암호화된 문자열로 변경 $config['encrypt_name'] = TRUE; $this->load->library('upload', $config); if ( ! $this->upload->do_upload("upload_file")){ echo '{"files":[{"proc":"F","msg":"'.$this->upload->display_errors('','').'"}]}'; }else{ $data = $this->upload->data(); $filename = $data['file_name']; $origname = $data['orig_name']; $fullPath = str_replace($_SERVER['DOCUMENT_ROOT'], '', $data['full_path']); echo '{"files":[{'; echo '"proc":"T",'; echo '"msg":"전송에 성공 했습니다",'; echo '"name":"'.$origname.'",'; echo '"fullPath":"'.$fullPath.'"'; echo '}]}'; } } |
한대승(불의회상)
/
2014/02/28 12:17:51 /
추천
0
박기천// json을 사용하신다면 json_encode() 라는 편리한 함수가 있답니다.
|
박기천
/
2014/02/28 14:02:37 /
추천
0
불의회상 // 네 json부분은 json_encode()로 바꿨습니다 감사합니다
|
ci외 질문게시판으로 이동합니다.