загрузка нескольких изображений с использованием codeigniter - PullRequest
0 голосов
/ 18 октября 2011

У меня есть страница, на которой будут вставлены имя пользователя, идентификатор, и пользователь должен иметь возможность загружать до 10 изображений.

Основная проблема, с которой я сталкиваюсь, заключается в загрузке нескольких изображений с использованием codeigniter.

  1. Может кто-нибудь предложить мне, как я могу передать каждый путь изображения каждого отдельного изображения в массив, чтобы я мог передать его в базу данных.

  2. и если пользователь выбирает для загрузки менее 10 изображений, например 2 или 5, то как я могу игнорировать ошибку, которая говорит о том, что файл не был выбран, и передавать только изображения, которые были загружены.

    <form method="post" action="uploader/go" enctype="multipart/form-data">
    <input name="username" type="text" /><br />
    <input name="nid" type="text" /><br />
    <input type="file" name="image1" /><br />
    <input type="file" name="image2" /><br />
    <input type="file" name="image3" /><br />
    <input type="file" name="image4" /><br />
    <input type="file" name="image5" /><br />
    <input type="file" name="image6" /><br />
    <input type="file" name="image7" /><br />
    <input type="file" name="image8" /><br />
    <input type="file" name="image9" /><br />
    <input type="file" name="image10" /><br />
    <input type="submit" name="go" value="Upload!!!" />
    </form>
    

образец контроллера

$image_data=array('image_info' => $this->upload->data('image')); 
$image_path=$image_data['image_info']['full_path'];

$data =array(
            'id'=>uniqid('id_'),
                    'nID'=>$this->input->post('nid'),
            'username'=>$username,
            'image1'=>$image_path
}

любая помощь будет оценена.

1 Ответ

4 голосов
/ 18 октября 2011

изменить имена ввода на:

<input type="file" name="image[1]" /><br />
<input type="file" name="image[2]" /><br />
<input type="file" name="image[3]" /><br />

вместо этого и $this->upload->data('image') будет массивом.

И тогда вы можете сделать:

foreach($this->upload->data('image') as $image) {
   passItToTheDatabase(); // your custom function

}
...