Codeigniter: Тип файла, который вы пытаетесь загрузить, не разрешен. Вчера все было хорошо

Мое приложение codeigniter неожиданно сломалось сегодня. Я не работал над кодом загрузки, и когда я попытался загрузить изображение сегодня, я неожиданно получил «Тип файла, который вы пытаетесь загрузить, не разрешен». Вчера все было хорошо.

Мой конфигурационный массив:

$config = array( 'file_name' => $data['slug'] .'-'. $key, 'upload_path' => './images', 'allowed_types' => 'gif|jpg|jpeg|png' ); 

Я также пытался установить разрешенные типы как: image / gif | image / jpg | image / jpeg | image / png ', но не повезло.

Демпинг $ this-> upload-> data ():

 Array ( [file_name] => ring.jpg [file_type] => image/jpeg [file_path] => /home/user/www.domain.ca/images/ [full_path] => /home/user/www.domain.ca/images/ring.jpg [raw_name] => ring [orig_name] => [client_name] => ring.jpg [file_ext] => .jpg [file_size] => 49158 [is_image] => 1 [image_width] => [image_height] => [image_type] => [image_size_str] => ) 

Я понимаю, что в предыдущих версиях CI были некоторые ошибки, но вчера у меня не было этих проблем. Я также понимаю, что эта ошибка возникает только в том случае, если тип MIME не соответствует разрешенному, но это, похоже, не так.

Сервер Apache.

Кто-нибудь знает, что может быть проблемой? Благодаря!

Related of "Codeigniter: Тип файла, который вы пытаетесь загрузить, не разрешен. Вчера все было хорошо"

У меня была эта проблема дважды, вот два решения, которые сработали для меня;

1 – Тип mime, сообщаемый системой, может меняться и не может быть в массиве типов mime, установленных для определенного расширения файла. Файлы .csv – самое худшее, что я нашел для этого. Узнайте, какой тип mime система сообщает, сбросив данные загрузки после загрузки

 die($this->upload->data()); 

Индекс «file_type» будет содержать строку – добавьте это значение массива с индексом, который соответствует желаемому расширению файла в приложении / config / mimes.php

2 – В последнее время у меня было это, когда я обновил свою основную версию Codeiginter от 2.x до 3.x. Я обновил содержимое системного каталога, но не приложение / config. Я не заметил, что файл application / config / mimes.php несколько отличается: более новая версия возвращает массив, тогда как старый включает в себя это как var. Исправление было скопировать в новой версии mimes.php

Вы правильно инициализировали $config ?

 $this->load->library('upload', $config); $this->upload->initialize($config); // Make sure it has been initialized 

Не уверен, что это помогает, у меня была эта проблема только на моей Windows Dev Machine, запущенной на тестовом сервере на локальном хосте, на моем хостинговом веб-хостинге он работал отлично, обнаруживая типы mime.

Я быстро просмотрел загружаемую библиотеку, и обнаружил, что вы можете просто вставлять * в разрешенные типы, чтобы разрешить что-либо.

Не думайте, что это было документировано в любом месте руководства, но отсортировало проблему для меня, так как я просто хотел, чтобы мой сценарий работал и работал локально, чтобы немного поработать над этим.

Сегодня у меня была такая же проблема.

То, что я сделал, это просто скопировать весь контент CodeIgniter-3.0.6\application\config\mimes.php в мое application\config\mimes.php .