Пожалуйста, ознакомьтесь со следующим описанием и подсказкой и получите ответ легко!
Описание:
На самом деле, как многие из них посоветовали добавить/заменить следующую строку в файл (приложение/Config/mimes.php):
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Но у меня есть понял, что в CodeIgniter Version 2.2. * проблема немного отличается! Они добавили эту линию уже, но забыл добавить следующее "FILE_TYPE" ==> 'применение/vnd.ms-Excel'
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel'),
Поэтому добавление выше 'приложение/vnd.ms-первенствовать' в массив xlsx тип файла, позвольте мне загрузить .xlsx файлов!
Подсказка:
Всякий раз, когда вы получите следующее сообщение об ошибке, на CodeIgniter платформы и загрузки файлов:
Тип файла вы пытаетесь загрузить не допускается.
Выполните следующие действия в методе загрузки вашего контроллера,
var_dump($this->upload->data());
И это даст вам огромный массив, который вы можете получить представление от этого link. (Пожалуйста, смотрите конец этой страницы) , В этом массиве вы можете получить то, что является реальным mime_type файла, который вы пытаетесь загрузить, но не позволяете загружать.
Ответ:
В моем случае, если расширение файла было, .xlsx и тип мим был применение/vnd.ms-первенствует, который не был добавлен в
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Итак, я добавил его вручную, и после этого он работает VERRY WELL !!!
То же самое произошло с загрузкой CSV еще раз, когда я проверил расширение файла .CSV но тип мим был текст/обычный, когда я добавил его в следующей строке:
'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
hmmm, это могло решить проблему, но это позволило бы .zip-файлы, которые не были бы загружены файлами xlsx, если я не ошибаюсь. –
Да, я думал, что изначально, но CI проверяет расширение файла и тип mime, поэтому, если вы попытаетесь загрузить zip-файл, потому что расширение является zip, а не xlsx, оно вызывает ошибку. Я также добавил следующие строки в файл mimes.php для работы, которую я делал: 'slk' => 'text/plain', 'xlsx' => array ('application/vnd.openxmlformats -officedocument.spreadsheetml.sheet ',' application/zip '), ' ods '=>' application/octet-stream – Stevo
Что такое zip-файл с расширением xlsx (а не действительный файл xlsx)? –