Загрузка нескольких файлов с помощью codeigniter - PullRequest
0 голосов
/ 23 августа 2011

Еще раз мне нужна помощь.
Я создаю функцию загрузки нескольких файлов с помощью codeigniter и застрял с «множественной» частью.
Следующий код отлично работает для загрузки одного изображения,он в основном загружает изображение обычного размера в папку, а версию уменьшенного размера этого изображения в другую папку.
2 изображения для 2 папок, см. мой код:

$config['upload_path'] = './cars/large_thumb/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2000';
$config['file_name'] = $newfilename;
$this->load->library('upload', $config);
$this->upload->initialize($config);
$uploadimages = $this->upload->do_upload();
$image_data = $this->upload->data();

$configlarge = array(
    'source_image' => $image_data['full_path'],
    'new_image' => './cars/large_thumb',
    'maintain_ratio' => true,
    'quality' => 70,
    'width' => 600,
    'height' => 450
);
$this->load->library('image_lib', $configlarge);
$this->image_lib->initialize($configlarge);
$resizelarge = $this->image_lib->resize();

$configsmall = array(
    'source_image' => $image_data['full_path'],
    'new_image' => './cars/small_thumb',
    'maintain_ratio' => true,
    'width' => 100,
    'height' => 75
);
$this->load->library('image_lib', $configsmall);
$this->image_lib->initialize($configsmall);
$resizesmall = $this->image_lib->resize();

Что мне нужно помочь сэто цикл, который должен запускать этот код столько раз, сколько загружаются изображения.
Я пробовал цикл "foreach", используя что-то вроде этого:

foreach ($_FILES["userfile"]["error"] as $key => $error)  {
    code above here...
  }  

И это дает мне эту ошибку: Сообщение: Преобразование массива в строку
Я также пробовал цикл "for", в котором я перебираю код, и он вроде работает, но он загружает последнее изображение столько раз, сколько были загружены изображения.

Надеюсь, что кто-то может поделиться со мной некоторыми знаниями.

Спасибо

1 Ответ

1 голос
/ 23 августа 2011

Я также пробовал цикл "for", в котором я перебираю код, и он вроде работает, но он загружает последнее изображение столько раз, сколько изображений было загружено.

Похоже, вы пытались исправить проблему с помощью цикла for, который был прерван только из-за неправильного соглашения об именах для формы HTML.

Попробуйте выполнить что-то вроде следующего:

    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="car_1" value="" />
    <input type="file" name="car_2" value="" />
    <input type="file" name="car_3" value="" />
    </form>

Затем в вашем коде вы можете изменить

    $uploadimages = $this->upload->do_upload(); 

на

    $uploadimages = $this->upload->do_upload('car_1'); 

Вы должны иметь возможность заключить его в цикл, чтобы просмотреть каждое изображение, которое вы хотите загрузить с помощью afor.упоминается для цикла, который вы использовали

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