загрузка файлов zip в codeigniter не будет работать - PullRequest
1 голос
/ 27 апреля 2010

Я создал помощника, который требует некоторые параметры и должен загрузить файл, функция работает для изображений, но не для zip-файлов. Я искал в Google и даже добавил MY_upload.php -> http://codeigniter.com/bug_tracker/bug/6780/

однако у меня все еще есть проблема, поэтому я использовал print_r для отображения массива загруженных файлов, изображение в порядке, но массив zip пуст:

Array
(
    [file_name] => 
    [file_type] => 
    [file_path] => 
    [full_path] => 
    [raw_name] => 
    [orig_name] => 
    [file_ext] => 
    [file_size] => 
    [is_image] => 
    [image_width] => 
    [image_height] => 
    [image_type] => 
    [image_size_str] => 
)

Array
(
    [file_name] => 2385b959279b5e3cd451fee54273512c.png
    [file_type] => image/png
    [file_path] => I:/wamp/www/e-commerce/sources/images/
    [full_path] => I:/wamp/www/e-commerce/sources/images/2385b959279b5e3cd451fee54273512c.png
    [raw_name] => 2385b959279b5e3cd451fee54273512c
    [orig_name] => 1269770869_Art_Artdesigner.lv_.png
    [file_ext] => .png
    [file_size] => 15.43
    [is_image] => 1
    [image_width] => 113
    [image_height] => 128
    [image_type] => png
    [image_size_str] => width="113" height="128"
)

это помощник функции

<code>function multiple_upload($name = 'userfile', $upload_dir = 'sources/images/', $allowed_types = 'gif|jpg|jpeg|jpe|png', $size)
    {
        $CI =& get_instance();

        $config['upload_path']   = realpath($upload_dir);
        $config['allowed_types'] = $allowed_types;
        $config['max_size']      = $size;
        $config['overwrite']     = FALSE;
        $config['encrypt_name']  = TRUE;

            $ffiles = $CI->upload->data();

            echo "<pre>";
            print_r($ffiles);
            echo "
"; $ CI-> upload-> инициализировать ($ конфигурации); $ errors = FALSE; if (! $ CI-> upload-> do_upload ($ name)): // Я считаю, что это вызывает проблему, но я новичок в codeigniter, поэтому не знаю, где искать ошибки $ errors = TRUE; еще: // Построить массив файлов из всех загруженных файлов $ files = $ CI-> upload-> data (); ENDIF; // Произошли ошибки, мы должны удалить загруженные файлы если ($ ошибок): @unlink ($ файлы [ 'полный_путь']); вернуть ложь; еще: вернуть $ файлы; ENDIF; } // конец multip_upload ()

и это код в моем контроллере

if(!$s_thumb = multiple_upload('small_thumb', 'sources/images/', 'gif|jpg|jpeg|jpe|png', 1024)): //http://www.matisse.net/bitcalc/
    $data['feedback'] = '<div class="error">Could not upload the small thumbnail!</div>';
    $error = TRUE;
endif;
if(!$main_file = multiple_upload('main_file', 'sources/items/', 'zip', 307200)):
    $data['feedback'] = '<div class="error">Could not upload the main file!</div>';
    $error = TRUE;
endif;

Ответы [ 2 ]

1 голос
/ 29 апреля 2010

нашел решение -> codeigniter.com/forums/viewthread/149027 Добавление принудительной загрузки к разрешенным типам пантомимы

0 голосов
/ 17 сентября 2014

Я получил 'application / octet-stream' в $ _FILES ['your_file_name'] ['type'], поэтому мне пришлось добавить 'application / octet-stream' в типы mime для 'zip' (в / config /mimes.php).

Значение $ _FILES ['your_file_name'] ['type'] может отличаться в зависимости от браузера / платформы.

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