Пожалуйста, пройдите через описание и подсказку и легко получите ответ!
Описание:
На самом деле многие рекомендовали добавить / заменить следующую строку в файле (application / config / mimes.php):
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Но я понял, что в CodeIgniter версии 2.2. * проблема немного другая!
Они уже добавили эту строку, но забыли добавить следующий "file_type" ==> 'application / vnd.ms-excel'
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel'),
Итак, добавив вышеуказанный 'application / vnd.ms-excel' в массив файлов типа xlsx , позвольте мне загрузить файлы .xlsx !
Подсказка:
Всякий раз, когда вы получаете следующую ошибку в CodeIgniter Platform и загрузке файлов:
Тип файла, который вы пытаетесь загрузить, недопустим.
Выполните следующие действия в методе загрузки вашего контроллера,
var_dump($this->upload->data());
И это даст вам огромный массив, который вы можете получить по этой ссылке . (Пожалуйста, смотрите в конце этой страницы). В этом массиве вы можете получить реальный mime_type файла, который вы пытаетесь загрузить, но не даете вам загрузить.
Ответ:
В моем случае мое расширение файла было .xlsx , а тип mime был application / vnd.ms-excel , который не был добавлен в
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Так что я добавил его вручную, и после этого он работает VERRY WELL !!!
То же самое произошло с загрузкой CSV еще раз, когда я проверил расширение файла .csv , но тип mime был text / plain , когда я добавил его в следующую строку :
'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');
и сохраняется следующим образом:
'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', 'text/plain'),
Работает как шарм! : D
Попробуйте, если вы найдете что-то новое в вышеупомянутых шагах, пожалуйста, прокомментируйте здесь !!!
Так что, надеясь, что это будет полезно для всего сообщества CodeIgniter, я разместил это, потратив некоторое время!
С наилучшими пожеланиями, ребята,
Randika