기본 콘텐츠로 건너뛰기

[PHP] 코드이그니터 - 파일업로드 구현

[PHP] 코드이그니터 - 파일업로드 구현

파일 업로드

이번에 PHP 프레임워크인 코드 이그니터(Codeigniter)를 사용하여 홈페이지를 만드는데 사용한 이미지 업로드용 코드 입니다. upload 라이브러리를 사용하고 app~ 와 같은 위치에 upload 폴더를 만드고 다음 코드를 사용한다음 ajax 로 호출하여 파일을 업로드 합니다.

function index() { // Upload 설정 $config['upload_path'] = './upload/'; $config[\'allowed_types\'] = 'gif|jpg|png'; $config['max_size'] = 100; // 100k $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); $data = array(); if (! $this->upload->do_upload("service_image")) { $error = array('error' => $this->upload->display_errors()); } else { //$data = array('upload_data' => $this->upload->data()); $this->output->set_output("./upload/".$this->upload->data('file_name')); } }

jquery 를 이용한 파일 업로드 호출 코드

function upload() { var datas, xhr; datas = new FormData(); datas.append( 'service_image', $( '#file' )[0].files[0] ); $.ajax({ url: '/Upload', contentType: 'multipart/form-data', type: 'POST', data: datas, mimeType: 'multipart/form-data', success: function (data) { // 업로드 성공시 파일 URL 리턴받음 }, error : function (jqXHR, textStatus, errorThrown) { alert('ERRORS: ' + textStatus); }, cache: false, contentType: false, processData: false }); }

중복파일을 자동으로 이름이 변경되어 변경된 이름이 리턴값으러 넘어 옵니다. 파일 업로드 구현하는 방법은 생각보다 어렵지 않네요!!!

PS. upload 폴더는 권한을 777로 해주세요!!!

from http://skshpapa80.tistory.com/59 by ccl(A) rewrite - 2020-03-11 01:54:32

댓글

이 블로그의 인기 게시물

이클립스 코드이그나이터 연동 ( eclipse codeigniter )

이클립스 코드이그나이터 연동 ( eclipse codeigniter ) https://ellislab.com/codeigniter/user-guide/installation/downloads.html 위의 사이트에서 코드이그나이터를 다운 받는다. 다운받은 압축 파일을 풀어 준다. 이클립스에서 php 프로젝트를 생성한 공간에 코드이그나이터 압축파일을 복사 붙여넣기 해준다. 위와 같은 화면이 나오면 정상적으로 연동이 된 것 입니다. from http://nahosung.tistory.com/22 by ccl(A) rewrite - 2020-03-06 16:20:55

[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정

[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정 class Welcome extends CI_Controller { /** * @brief 기본 Wellcome to CodeIgniter! 페이지 지정 */ public function index() { $this->load->view("welcome_message"); } /** * @brief 사이트 헤더, 푸터가 자동으로 추가 */ public function _remap($method) { // brief 헤더 load $this->load->view("layer/headder_view"); if(method_exists($this, $method)) { $this->{"{$method}"}(); } // @brief 푸터 load $this->load->view("layer/footer_view"); } } from http://magic.wickedmiso.com/219 by ccl(A) rewrite - 2020-03-11 02:20:33