2015-01-27 2 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

Разве это не echo 'uploaded' или' not uploaded'? –

+0

если не используется, то и не загружать @Shaiful Islam –

+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'] = dirname($_SERVER["SCRIPT_FILENAME"])."/assets/images/categories/";

Для этой $config['upload_path'] = "./assets/images/categories/"; Если папка загрузки в на главной директории вам не нужно имя_директории см руководство пользователя http://www.codeigniter.com/user_guide/libraries/file_uploading.html

эхо-данные файла

«$ file_info = $ 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; 
} 
} 
Смежные вопросы