CodeIgniter загружать PNG тип изображения не работает? - PullRequest
2 голосов
/ 28 февраля 2012

В чем моя проблема, почему мой код не может сохранить файл .png в базе данных и загружает папку, но кроме файла, такого как .jpg, .gif Я успешно вставляю в базу данных и загружаю папку, я также включил $config['allowed_types'] = 'png', кроме того, вот что я var_dump выдает сообщение об ошибке «Тип файла, который вы пытаетесь загрузить, не разрешен». , Есть идеи как решить мою проблему?

вот мой код:

$upload_file_name = '';

$config['upload_path'] = '/var/www/html/uploads/';
$config['allowed_types'] = 'jpg|gif|png';
$config['max_size'] = 100000;
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
if(!$this->upload->do_upload('receipt_attachment'))
{
    $error = array('error' => $this->upload->display_errors());
    $errormessage = $this->upload->display_errors();
    $this->session->set_flashdata('error', $errormessage);
    redirect('home/add_product');
}else{
    $upload_data = $this->upload->data();
    $upload_file_name = $upload_data['file_name'];
}

спасибо

Ответы [ 3 ]

2 голосов
/ 26 июня 2012

Найдите файл mimes.php внутри папки конфигурации и добавьте mime-тип 'text / plain' в массив png следующим образом.

'png'   =>   array('image/png',  'image/x-png','text/plain'),

Исходный код: http://www.genuinescope.com/blog/2012/06/codeigniter-upload-gives-error-file-type-not-allowed-for-png-images/

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

1 голос
/ 28 февраля 2012

Вы смотрели в этой теме о недопустимом типе пантомимы?
http://codeigniter.com/forums/viewthread/204725/

По сути, это может быть (в зависимости от вашей версии CI), что у вас есть старая исправленная версия, которая не может интерпретировать некоторые типы png mime.

Прочтите и попробуйте эти решения и / или обновите до новейшего кода CI.

0 голосов
/ 27 августа 2012

Исходя из даты вашего поста, я предполагаю, что вы запускаете CodeIgniter 2.1.0.

Существует задокументированная проблема с классом загрузки в CI 2.1.0 с PNG (строка 1058 в системной библиотеке загрузки), которого не было ни в предыдущих версиях, ни в будущем.

Лучший способ: Обновите до 2.1.2 или, по крайней мере, используйте файл system / library / Upload.php из 2.1.2 (это помогло мне).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...