2015-01-27 7 views
1

내가 CodeIgniter의에서 파일을 업로드하려고 업로드하지 만, 그렇지 않더라도 그렇지 않으면 오류가 반환되지 않은 실행중인 단지 그것을 출력을 제공, 업로드하지CodeIgniter의 파일 업로드 파일

문자열 (9) "이미지/PNG로"여기

내 코드 컨트롤러 :

$this->load->library('upload'); 
     if($_FILES['categoryIcon']['tmp_name']) 
      { 
       $ext=end(explode(".",$_FILES['categoryIcon']['name'])); 
       $filename=date('Ymdhis').rand().".".$ext; 
       $config['upload_path']=dirname($_SERVER["SCRIPT_FILENAME"])."/assets/images/categories/"; 
       $config['upload_url']=base_url()."assets/images/categories/"; 
       $config['file_name']=$filename; 
       $config['max_width'] = '2048'; 
       $config['max_height'] = '2048'; 
       $config['allowed_types'] = '*'; 
       $this->upload->initialize($config); 
       if($this->upload->do_upload('categoryIcon')) 
       { 
        $data['categoryIcon']=$filename; 
        //$response=$this->ecommerce_model->add_new_category($data); 
        echo "uploaded"; 
       } 
       else{ 
        echo $this->upload->display_errors(); 
        echo "not uploaded"; 
       } 
      } 

보기 페이지

<form action="" method="post" enctype="multipart/form-data" class="practice_form"> <input type="file" name="categoryIcon" id="image" class="form-control" accept="image/*"><input type="submit" value="Save Category" class="btn btn-primary"/> 

+0

'업로드'또는 '업로드되지 않음'으로 표시되지 않습니까? –

+0

만약 사용되지 않는다면 @Shaiful 이슬람도 업로드하지 말 것 –

+0

당신이 업로드 한 파일 방식은 최선의 방법은 아닙니다. 사용자 안내서를 확인하십시오. http://www.codeigniter.com/user_guide/libraries/file_uploading.html 이것은 틀린'dirname ($ _ SERVER [ "SCRIPT_FILENAME"])입니다. "/ assets/images/categories /"''$ config [ 'upload_path'] = './assets/images/categories'는 dirname이 필요 없습니다. – user4419336

답변

0

내가 할 수있는 곳의 업로드 파일이 <input type="file=" name="categoryIcon[]" multiple="multiple"/>이고 선택하여 do_upload를 원하는대로 변경할 수 있습니다.

또한 변경

$config['upload_path'] = "./assets/images/categories/";$config['upload_path'] = dirname($_SERVER["SCRIPT_FILENAME"])."/assets/images/categories/";

주 디렉토리에있는 업로드 폴더는 사용자 가이드에게 http://www.codeigniter.com/user_guide/libraries/file_uploading.html

에코 파일 데이터

'$ file_info를 참조 DIRNAME 필요가없는 경우 = $ this-> upload-> data(); '

'echo $ file_info ['file_name '];'

여러 코드를 업로드하는 경우의 예입니다.

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Upload extends CI_Controller { 

function index() 
{ 

    $this->get_list(); 
} 

public function get_list() { 
    $this->load->view('upload_success'); 
} 

function do_upload() { 

    $this->load->library('form_validation'); 

    // You need to set a form set rules 
    //$this->form_validation->set_rules('name', 'Banner Name', 'required'); 

    if ($this->form_validation->run()) { 

     $files = $_FILES; 

     $file_loop = count($_FILES['categoryIcon']['name']);  

     for($i= 0; $i < $file_loop; $i++) { 

      $_FILES['categoryIcon']['name'] = $files['categoryIcon']['name'][$i]; 
      $_FILES['categoryIcon']['type'] = $files['categoryIcon']['type'][$i]; 
      $_FILES['categoryIcon']['tmp_name'] = $files['categoryIcon']['tmp_name'][$i]; 
      $_FILES['categoryIcon']['error'] = $files['categoryIcon']['error'][$i]; 
      $_FILES['categoryIcon']['size'] = $files['categoryIcon']['size'][$i]; 

      $this->upload->initialize($this->file_config()); 

      if (!$this->upload->do_upload()) {   

       $this->get_form(); 

      } else {     

       $filename = $files['categoryIcon']['name'][$i]; 

       $this->get_list(); 

     } 

    } else { 

     $this->get_form(); 
    } 
} 

public function get_form() { 
    $data['error'] = $this->upload->display_errors('<div class="alert alert-info">', '</div>'); 

    $this->load->view('upload_form', $data); 
} 

private function file_config() { 
    $config = array(); 
    $config['upload_path'] = './upload/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size']  = '0'; 
    $config['overwrite']  = TRUE; 

    return $config; 
} 
}