$this->upload->data()
равен
Array ( [file_name] => 72f59510f9bbf05933c89e4951acc29d [file_type] => [file_path] => ./inst/public/uploads/ [full_path] => ./inst/public/uploads/72f59510f9bbf05933c89e4951acc29d [raw_name] => 72f59510f9bbf05933c89e4951acc29d [orig_name] => [client_name] => [file_ext] => [file_size] => [is_image] => [image_width] => [image_height] => [image_type] => [image_size_str] => )
ошибка:
Array ( [error] => You did not select a file to upload. )
функция загрузки
function upload(){ if(isset($_POST['userfile']) AND !empty($_POST['userfile'])) { $Info = $this->login(); if(@$Info) { $config['upload_path'] = './inst/public/uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1000'; $config['max_width'] = '230'; $config['max_height'] = '280'; $config['min_width'] = '220'; $config['min_height'] = '270'; $config['remove_spaces'] = TRUE; $config['overwrite'] = TRUE; $config['file_name'] = md5(uniqid("100_ID", true)); $this->load->library('upload', $config); $Setting = $this->Setting; $this->load->view('header',$Setting); if ( ! $this->upload->do_upload("userfile")) { $response['error'] = array('error' => $this->upload->display_errors()); echo '<pre>'; print_r( $this->upload->data()); $this->load->view('upload_done', $response); } else { $response['success'] = array('upload_data' => $this->upload->data()); $this->load->view('upload_done', $response); } } } }
код формы
<?php echo form_open('/Home/upload'); ?> <br><div class="form-group"><input class ='form-control' placeholder="<?php echo lang('fileu'); ?>" type="file" name="userfile" size="20" /></div> <div class="alert alert-info"><?php echo lang('filetext'); ?></div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo lang('Close'); ?></button> <button type="submit" class="btn btn-primary"><?php echo lang('uploadsub'); ?></button> <?php echo form_close(); ?>
вы должны использовать нижеприведенный код для загрузки файлов. В вашей форме отсутствует атрибут multipart.
echo form_open_multipart('/Home/upload');
Сначала измените свою вспомогательную функцию на form_open_multipart()
. Если вы все еще получаете ошибку после изменения правильной функции, это может быть и ваше свойство maxsize. Если загруженный файл больше допустимого размера, переменная FILES будет пустой.
Попробуйте изменить …
$config['max_size'] = '1000';
… к чему-то вроде …
$config['max_size'] = '30000';
Загрузка файла php.net