CI 묻고 답하기

제목 폼안에서 이미지를 업로드하는 방법
카테고리 CI 2, 3
글쓴이 razim 작성시각 2018/01/27 17:58:17
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 13027   RSS

안녕하세요.강초보 인사올립니다.

가입자정보를 저장하는 폼을 하나 만들엇는데요.거기에 이미지를 업로드하는 컬럼이 하나 잇거든요.

순수 이미지만을 올리는것은 그런대로 할수 잇는데 폼안에서 여러개의 컬럼들과 같이 이미지를 업로드하자니 

잘 모르겟네요.폼안에 폼을 만들수도 없구요...

어떻게 해야겟는지 구글링을 좀 해봣는데 신통한게 없거든요.

한수 가르쳐주면 감사하겟습니다.

 

 


첨부파일 1.png (179.6 KB)
 다음글 HMVC modules 경로 문제 (4)
 이전글 라우팅 관련 질문입니다. (2)

댓글

네이처그린 / 2018/01/28 05:13:37 / 추천 0

안녕하세용

여러개 등록하는 방법은 스택오버플로우나 구글링 하시면 반복문을 사용하거나 Ajax를 사용 하는 방법이 나옵니다.

 

아래는 제가 사용한 소스인데 참고 해주셔용

form은 <input type="file" name="폼이름"> 이렇게 같이 넣으시면 됩니다.

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 단일 이미지 업로드
////////////////////////////////////////////////////////////////////////////////////////////////////////////
$fileInputName = 'flag';
if(!empty($_FILES[$fileInputName]))
{
	//이메일 아이디 @ 분리
	$name_en = $this->input->post('name_en');

	//업로드 라이브러리
	$config['upload_path'] = './assets/upload/flag';
	$config['allowed_types'] = 'gif|jpg|png';
	$config['max_size'] = '0';
	$config['file_name'] = date("ymd").'_profile_'.$name_en.'_'.filehash(date("Y-m-d H:i:s"));
	$config['remove_spaces'] = TRUE;

	$this->load->library('upload', $config);
	if($this->upload->do_upload($fileInputName))
	{
		//이미지 화질 조정 -- 시작
		if($this->upload->data('file_type') === 'image/jpeg')
		{
			$filename = $this->upload->data('full_path');
			$img = imagecreatefromjpeg($filename);
			imagejpeg($img, $filename, 50);
		}
		//이미지 화질 조정 -- 끝
		$imgFilename = $this->upload->data('file_name');
	}
}
else
{
	$imgFilename = '';
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 쿼리
////////////////////////////////////////////////////////////////////////////////////////////////////////////
$data = array(
	'show' => $this->input->post('show'),
	'code' => $this->input->post('code'),
	'name_en' => $this->input->post('name_en'),
	'name_kr' => $this->input->post('name_kr'),
	'flag' => $imgFilename
);
$this->db->insert('nation', $data);