| 제목 | 파일 업로드시 A PHP Error was encountered 가 납니다. | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 럭셔리얼라 | 작성시각 | 2017/06/09 09:40:34 | 
| 
                         | 
                |||
| 
                         CI 3일째가 그대로 연장되는 4일차 입니다. 어제 경로문제를 질문드렸는데 경로는 문제가 없었구요. 파일 업로드시 저장도 제대로 되고 원하는 파일정보도 뷰에 출력이 되는데 제목과 같은 에러도 함께 나옵니다. 
 에러내용은 ====================================================================== A PHP Error was encountered Severity: Warning Message: finfo_open() [function.finfo-open]: Failed to load magic database at '/usr/share/misc/magic'. Filename: libraries/Upload.php Line Number: 1008 ======================================================================= 이러하구요. 제가원하는 값은 array(14) { ["file_name"]=> string(36) "3c4d40cdeb2ff59a0cefb0aa5389106e.jpg" ["file_type"]=> string(10) "image/jpeg" ["file_path"]=> string(40) "/home/haeho77/www/uploadFile/boardImage/" ["full_path"]=> string(76) "/home/haeho77/www/uploadFile/boardImage/3c4d40cdeb2ff59a0cefb0aa5389106e.jpg" ["raw_name"]=> string(32) "3c4d40cdeb2ff59a0cefb0aa5389106e" ["orig_name"]=> string(15) "mainbanner1.jpg" ["client_name"]=> string(15) "mainbanner1.jpg" ["file_ext"]=> string(4) ".jpg" ["file_size"]=> float(26.91) ["is_image"]=> bool(true) ["image_width"]=> int(740) ["image_height"]=> int(120) ["image_type"]=> string(4) "jpeg" ["image_size_str"]=> string(24) "width="740" height="120"" } 위와 같이 잘 넘어 옵니다. 위 파일 정보만 불러와야 되는데 상위 에러까지 출력이 되어 버리니 제대로 동작이 안되는거 같습니다. 
 일반 PHP를 그대로 CI로 옮기는 작업이기 때문에 뷰단은 문제가 없을꺼 같아 메소드 부분만 올려 봅니다. 
 
 컨트롤러=========================== 
public function imgupload(){
		
			$config['upload_path'] = './uploadFile/boardImage';		
			$config['allowed_types'] = 'gif|jpg|png|zip';		// git,jpg,png 파일만 업로드를 허용한다.
			$config['max_size'] = '0';	// 허용되는 파일의 최대 사이즈 0은 서버설정
			$config['max_width']  = '0';	// 이미지인 경우 허용되는 최대 폭
			$config['max_height']  = '0';// 이미지인 경우 허용되는 최대 높이
			$config['remove_spaces']  = 'TRUE';// 공백을 _(언더바)로 대체
			$config['encrypt_name']  = 'TRUE';// 파일이름 암호화
			
			$this->load->library('upload', $config);
	
				if ( ! $this->upload->do_upload("file"))
				{
					$error = array('error' => $this->upload->display_errors());
					
					var_dump($error);
				}	
				else
				{
				$data = $this->upload->data();	
				foreach($data as $key=>$val){
						$orig_name =  element('orig_name', $data);
						$file_name =  element('file_name', $data);
						$file_type =  element('file_type', $data);
						$file_path =  element('file_path', $data);
					}
				//$data = $this->upload->data();//파일정보
					var_dump($data);exit;
				
					$uploadFile = $file_path.$file_name;
				
					echo json_encode(array('success' => true, 'save_url' => $uploadFile ));
					$this->load->view('upload_success', $data);
				}
			
			
}//imgupload
 저 에러가 무슨뜻이며 왜 나는 걸까요? 감사합니다. 
  | 
                |||
| 다음글 | htaccess 관련 (6) | ||
| 이전글 | 경로에서 값 읽어오기 질문입니다. (2) | ||
| 
                             
                                변종원(웅파)
                                /
                                2017/06/09 10:14:03 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                럭셔리얼라
                                /
                                2017/06/09 10:21:29 /
                                추천
                                0
                             
                            아...확인해 보니 php 5.21버젼이네요. 공부용으로 호스팅한지 오래돼서....업체에 문의해보겠습니다. 감사합니다.  | 
                    
| 
                             
                                kaido
                                /
                                2017/06/09 10:55:49 /
                                추천
                                0
                             
                            깡패24 아직도 5.2 인가 보군요.... CI 2.7 버전으로 사용 하셔야 합니다.  | 
                    
| 
                             
                                닉
                                /
                                2017/06/09 11:15:58 /
                                추천
                                0
                             
                            카페24 가보니 php 버전 여러개 지원 하네요. 7버전도 제공하네요  | 
                    
| 
                             
                                전상민
                                /
                                2017/06/09 12:19:44 /
                                추천
                                0
                             
                            저희 회사에선 PHP4 ~ PHP7 까지 서버 환경을 선택할 수 있게 제공하고 있네요. https://www.cafe24.com/?controller=product_page&type=basic&page=autoban  | 
                    
사용하시는 업로드 라이브러리 필요요건을 찾아보세요. 특정 라이브러리가 있어야 한다거나 하는 걸 말합니다.
라이브러리에서 finfo_open() 이라는 함수를 사용하는데 php5.3 이상이어야 합니다. 서버의 php 버전 확인해보시고
로컬과 서버의 설치된 php extension 비교해보세요. echo phpinfo(); 로 출력해서 비교해보세요.
로컬에만 설치된 extension이 있다면 서버에도 설치해주셔야 합니다.