загрузка изображений с помощью codeigniter - PullRequest
0 голосов
/ 18 января 2012

У меня проблемы с загрузкой изображений с помощью codeigniter, он постоянно говорит, что я не выбрал файл для загрузки.

это мой код

function do_upload()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'jpg|png';
    $config['max_size'] = '3000';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';

    $this->load->library('upload', $config);

    if (!$this->upload->do_upload()){
        echo $this->upload->display_errors();
    }else{
        echo $this->upload->data();
    }
}

даже не отправляет изображение в каталог.

Ответы [ 3 ]

1 голос
/ 18 января 2012

попробуйте эту функцию вместо:

function upload_done() {
 $config['overwrite'] = TRUE;
 $config['encrypt_name'] = FALSE;
 $config['remove_spaces'] = TRUE;
 $config['upload_path'] = '/var/www/uploadfiles/'; // use an absolute path
 $config['allowed_types'] = 'jpg|png';
 $config['max_size'] = '0'; 
 if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
 $this->load->library('upload',$config);
 if ( ! $this->upload->do_upload() )
 {
  echo "UPLOAD ERROR ! ".$this->upload->display_errors();
 } else {
  echo "THE IMAGE HAS BEEN UPLOADED : "; var_dump( $this->upload->data() );
 }
}
0 голосов
/ 18 января 2012

Вам нужно изменить вызов do_upload () в зависимости от имени, которое вы дали форме ввода.Допустим, у вас есть этот код в HTML:

<input type="file" name="image" />

Вам необходимо изменить:

$this->upload->do_upload()

на

$this->upload->do_upload('image')

По умолчанию CodeIgniter предполагает, что имя"UserFile".

0 голосов
/ 18 января 2012

Убедитесь, что ваш HTML выглядит так.

    <input type="file" name="userfile" size="20" />

Библиотека загрузки Codeigniter предполагает, что имя будет "userfile"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...