CodeIgniter - загрузка нескольких файлов с одного входа - PullRequest
1 голос
/ 24 марта 2012

Я пытаюсь загрузить несколько файлов одновременно с ОДИН вход :

<input type="file" name="form-image[]" id="form-image" multiple="true" />

Который сам без CodeIgniter работает нормально. В моей попытке сделать то же самое с помощником файла CodeIgniters; Я получаю сообщение об ошибке ( is_uploaded_file () ожидает, что параметр 1 будет строкой, массив задан ), что указывает на то, что я что-то делаю неправильно, или CodeIgniter просто не поддерживает несколько файлов?

Пока мой неверный код:

//Iterate through each file uploaded
for ($i = 0; isset($_FILES['form-image']['name'][$i]); $i++) {

   //Fix the settings
   $config['upload_path'] = "./static/vimmel/";
   $config['file_name'] = time() . rand(1,988);
   $config['allowed_types'] = 'gif|jpg|png';
   $config['max_size']  = '1024';
   $config['max_width']  = '1024';
   $config['max_height']  = '768';
   $this->load->library('upload', $config);

   //Do the upload
   $this->upload->do_upload("form-image")
}

Обратите внимание, что я отредактировал всю обработку ошибок и тому подобное. Также обратите внимание, что я не использую функцию is_uploaded_file().

Ценю всю помощь и предложения. Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

CodeIgniter не поддерживает несколько файлов.Использование do_upload () в foreach не будет отличаться от использования его снаружи.

Вам придется иметь дело с этим без помощи CodeIgniter.Вот пример https://github.com/woxxy/FoOlSlide/blob/master/application/controllers/admin/series.php#L331-370

1 голос
/ 24 июня 2013

Я использую расширение библиотеки Upload, которое включает функцию do_multiple_upload (), принимающую массив файлов

https://github.com/nicdev/CodeIgniter-Multiple-File-Upload

В нем отсутствует некоторое управление ошибками (например, если один из ваших файлов не имеет допустимого расширения, при котором происходит полная загрузка), но вы можете изменить возвраты для продолжения в цикле.

Надеюсь, это кому-нибудь поможет ...

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