CI 묻고 답하기

제목 파일 업로드시 A PHP Error was encountered 가 납니다.
카테고리 CI 2, 3
글쓴이 럭셔리얼라 작성시각 2017/06/09 09:40:34
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 19621   RSS

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

사용하시는 업로드 라이브러리 필요요건을 찾아보세요. 특정 라이브러리가 있어야 한다거나 하는 걸 말합니다.

라이브러리에서 finfo_open() 이라는 함수를 사용하는데 php5.3 이상이어야 합니다. 서버의 php 버전 확인해보시고

로컬과 서버의 설치된 php extension 비교해보세요. echo phpinfo(); 로 출력해서 비교해보세요.

로컬에만 설치된 extension이 있다면 서버에도 설치해주셔야 합니다.

 

 

 

 

럭셔리얼라 / 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