Загрузка CSV-файла не работает с Codeigniter

Я использую ниже код для загрузки файлов csv. Всегда ли он говорит о некорректном файле error.please, помогите мне исправить эти проблемы?

Вот моя форма:

<form name="bulk_dealer" action="<?= base_url() ?>admin/add_bulk_user" method="post" accept-charset="utf-8" enctype="multipart/form-data"> <ul> <ul> <li class="ui-field"><label for="csvfile">Upload dealer id file( *only .csv) :</label></li> <li class="ui-input"><input type="file" name="csvfile" value="" placeholder="" required=""></li> <li><input type="submit" value="Upload" name="Upload" class="ui-submit"></li> </ul> </ul> </form> 

вот мой контроллер

 function add_bulk_user() { $data['add_bulk_user_errors'] = NULL; $data['add_bulk_user_success'] = NULL; if ($this->input->post() !== FALSE) { $config_arr = array( 'upload_path' => './uploads/csv/', 'allowed_types' => 'text/plain|text/csv|csv', 'max_size' => '2048', 'max_width' => '1024', 'max_height' => '768', 'encrypt_name' => true, 'file_name' => 'dealer' ); $this->load->library('upload', $config_arr); if (!$this->upload->do_upload('csvfile')) { $data['add_bulk_user_errors'] = $this->upload->display_errors(); // this isn't working } else { $csvfilepath = "uploads/csv/" . $config_arr['file_name']; $this->addfromcsv($csvfilepath); $data['qs'] = $this->upload->data(); $row = 1; if (($handle = fopen("./uploads/csv/dealer.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); $row++; for ($c = 0; $c < $num; $c++) { $this->load->model("login_model"); $is_esist = $this->login_model->check_is_exist($data[$c]); if ($is_esist) { } else { $this->login_model->set_login($data[$c], 'dealer@ceat123'); } } } fclose($handle); } $data['add_bulk_user_success'] = "File Uploaded Successfully"; } $data['main_content'] = 'admin/add'; $this->load->view('admin_layout', $data); redirect('admin/add_bulk_user', 'refresh'); } else { $data['main_content'] = 'admin/add'; $this->load->view('admin_layout', $data); } } 

mimes.php

 $mimes = array( 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'), 'bin' => 'application/macbinary', 'dms' => 'application/octet-stream', 'lha' => 'application/octet-stream', 'lzh' => 'application/octet-stream', 'exe' => array('application/octet-stream', 'application/x-msdownload'), 'class' => 'application/octet-stream', 'psd' => 'application/x-photoshop', 'so' => 'application/octet-stream', 'sea' => 'application/octet-stream', 'dll' => 'application/octet-stream', 'oda' => 'application/oda', 'pdf' => array('application/pdf', 'application/x-download'), 'ai' => 'application/postscript', 'eps' => 'application/postscript', 'ps' => 'application/postscript', 'smi' => 'application/smil', 'smil' => 'application/smil', 'mif' => 'application/vnd.mif', 'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'), 'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'), 'wbxml' => 'application/wbxml', 'wmlc' => 'application/wmlc', 'dcr' => 'application/x-director', 'dir' => 'application/x-director', 'dxr' => 'application/x-director', 'dvi' => 'application/x-dvi', 'gtar' => 'application/x-gtar', 'gz' => 'application/x-gzip', 'php' => 'application/x-httpd-php', 'php4' => 'application/x-httpd-php', 'php3' => 'application/x-httpd-php', 'phtml' => 'application/x-httpd-php', 'phps' => 'application/x-httpd-php-source', 'js' => 'application/x-javascript', 'swf' => 'application/x-shockwave-flash', 'sit' => 'application/x-stuffit', 'tar' => 'application/x-tar', 'tgz' => array('application/x-tar', 'application/x-gzip-compressed'), 'xhtml' => 'application/xhtml+xml', 'xht' => 'application/xhtml+xml', 'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'), 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mpga' => 'audio/mpeg', 'mp2' => 'audio/mpeg', 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'), 'aif' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'ram' => 'audio/x-pn-realaudio', 'rm' => 'audio/x-pn-realaudio', 'rpm' => 'audio/x-pn-realaudio-plugin', 'ra' => 'audio/x-realaudio', 'rv' => 'video/vnd.rn-realvideo', 'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'), 'bmp' => array('image/bmp', 'image/x-windows-bmp'), 'gif' => 'image/gif', 'jpeg' => array('image/jpeg', 'image/pjpeg'), 'jpg' => array('image/jpeg', 'image/pjpeg'), 'jpe' => array('image/jpeg', 'image/pjpeg'), 'png' => array('image/png', 'image/x-png'), 'tiff' => 'image/tiff', 'tif' => 'image/tiff', 'css' => 'text/css', 'html' => 'text/html', 'htm' => 'text/html', 'shtml' => 'text/html', 'txt' => 'text/plain', 'text' => 'text/plain', 'log' => array('text/plain', 'text/x-log'), 'rtx' => 'text/richtext', 'rtf' => 'text/rtf', 'xml' => 'text/xml', 'xsl' => 'text/xml', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'mpe' => 'video/mpeg', 'qt' => 'video/quicktime', 'mov' => 'video/quicktime', 'avi' => 'video/x-msvideo', 'movie' => 'video/x-sgi-movie', 'doc' => 'application/msword', 'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'), 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'), 'word' => array('application/msword', 'application/octet-stream'), 'xl' => 'application/excel', 'eml' => 'message/rfc822', 'json' => array('application/json', 'text/json') ); 

Solutions Collecting From Web of "Загрузка CSV-файла не работает с Codeigniter"

 'allowed_types'=> 'csv', 

В корневой директории перейдите в application -> config -> mimes.php в csv add 'text/plain'

надеюсь, это поможет вам.

Попробуйте изменить элемент csv в config/mimes.php :

 'csv' => array('text/plain', 'text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'), ... 

Все, что я добавил, было text/plain . Это сделало это для меня.

если вы используете linux, найдите mime-тип, используя следующую команду
file --mime-type filename

добавьте mime-тип в csv application > config > mimes.php
Меня устраивает.

Заменить:

 'allowed_types' => 'text/plain|text/csv|csv', 

С:

 'allowed_types' => 'text/plain|text/anytext|csv|text/x-comma-separated-values|text/comma-separated-values|application/octet-stream|application/vnd.ms-excel|application/x-csv|text/x-csv|text/csv|application/csv|application/excel|application/vnd.msexcel', 

О, и ПОЧЕМУ вы используете максимальную ширину и высоту для файла CSV?

 'max_width' => '1024', 'max_height' => '768', 

удалить их 😉

измените приведенный ниже код, он может нормально работать

  'allowed_types' => 'text/plain|text/csv|csv', 

возвращаться с

  'allowed_types' => 'text/plain|text|csv|csv',