Arhn - архитектура программирования

Почему невозможно загрузить несколько файлов из нескольких полей?

У меня есть одна форма. Я пытаюсь загрузить 3 файла из 3 разных полей ввода в Codeigniter. 3 поля: Страховка, Разрешение и Регистрация. Путь из поля точно сохраняется в базе данных, но в папку идет только 1 файл. Эти 3 файла имеют 3 разных папки. Регистрационный файл загружен в папку Страхование. Разрешение и регистрация не загружаются.

Вот код контроллера для загрузки.

<?php
if (!empty($_FILES['insurance']['name'])) {
    $path = $_FILES['insurance']['name'];
    $ext = pathinfo($path, PATHINFO_EXTENSION);
    $rand = 'ins_' . rand(1, 500) . rand(500, 1000) . rand(1, 500);
    $config['upload_path'] = BASEPATH . "../images/insurance/";
    $config['allowed_types'] = '*';
    $config['file_name'] = $rand;
    $this->load->library('upload', $config);
    $this->upload->overwrite = true;
    $this->upload->do_upload('insurance');
    $data = $this->upload->data();
    $_POST['insurance'] = $this->config->base_url() . "images/insurance/" . $rand . '.' . $ext;
} else{
    echo "Error in uploading Insurance Photo";
}

if (!empty($_FILES['permit']['name'])) {
    $path = $_FILES['permit']['name'];
    $ext = pathinfo($path, PATHINFO_EXTENSION);
    $rand = 'pmt_' . rand(1, 500) . rand(500, 1000) . rand(1, 500);
    $config['upload_path'] = BASEPATH . "../images/permit/";
    $config['allowed_types'] = '*';
    $config['file_name'] = $rand;
    $this->load->library('upload', $config);
    $this->upload->overwrite = true;
    $this->upload->do_upload('permit');
    $data = $this->upload->data();
    $_POST['permit'] = $this->config->base_url() . "images/permit/" . $rand . '.' . $ext;
} else{
    echo "Error in uploading Permit Photo";
}

if (!empty($_FILES['registration']['name'])) {
    $path = $_FILES['registration']['name'];
    $ext = pathinfo($path, PATHINFO_EXTENSION);
    $rand = 'reg_' . rand(1, 500) . rand(500, 1000) . rand(1, 500);
    $config['upload_path'] = BASEPATH . "../images/registration/";
    $config['allowed_types'] = '*';
    $config['file_name'] = $rand;
    $this->load->library('upload', $config);
    $this->upload->overwrite = true;
    $this->upload->do_upload('registration');
    $data = $this->upload->data();
    $_POST['registration'] = $this->config->base_url() . "images/registration/" . $rand . '.' . $ext;
} else{
    echo "Error in uploading Registration Photo";
}
?>

вот вид

<div class="form-group">
    <div class="col-md-12">
        <label class="control-label col-md-4">Insurance Document</label>
        <div id="email-input-wrapper"  class="controls col-sm-6 col-md-8">
            <input class="edit-file" placeholder="Choose Insurance File" disabled="disabled" />
            <div class="fileUpload btn btn-primary">
                <span>Upload Photo</span>
                <input  id="edituploadBtn" type="file"  name="insurance" class="upload" />
            </div>
            <br/>
            <img id="myImgedit" style="width: 100px;height: 100px" src="../images/insurance/no-image.jpg" alt="your image" />
            <?php if (!empty($post['insurance'])) { ?>
                <div id="image-div">
                    <img id="img" src="<?php echo $post['insurance'] ?>" style="height: 100px;width: 100px"/>
                </div>
            <?php } else {
                ?>
                <img id="myno_img" style="width: 100px;height: 100px" src="../images/insurance/no-image.jpg" alt="your image" />
            <?php }
            ?>
        </div>
    </div>
</div>

<div class="form-group">
    <div class="col-md-12">
        <label class="control-label col-md-4">Permit Document</label>
        <div id="email-input-wrapper"  class="controls col-sm-6 col-md-8">
            <input class="edit-file1" placeholder="Choose Permit File" disabled="disabled" />
            <div class="fileUpload btn btn-primary">
                <span>Upload Photo</span>
                <input  id="edituploadBtn1" type="file"  name="permit" class="upload" />
            </div>
            <br/>
            <img id="myImgedit1" style="width: 100px;height: 100px" src="../images/permit/no-image.jpg" alt="your image" />
            <?php if (!empty($post['permit'])) { ?>
                <div id="image-div1">
                    <img id="img" src="<?php echo $post['permit'] ?>" style="height: 100px;width: 100px"/>
                </div>
            <?php } else {
                ?>
                <img id="myno_img1" style="width: 100px;height: 100px" src="../images/permit/no-image.jpg" alt="your image" />
            <?php }
            ?>
        </div>
    </div>
</div>

<div class="form-group">
    <div class="col-md-12">
        <label class="control-label col-md-4">Registration Document</label>
        <div id="email-input-wrapper"  class="controls col-sm-6 col-md-8">
            <input class="edit-file2" placeholder="Choose Registration File" disabled="disabled" />
            <div class="fileUpload btn btn-primary">
                <span>Upload Photo</span>
                <input  id="edituploadBtn2" type="file"  name="registration" class="upload" />
            </div>
            <br/>
            <img id="myImgedit2" style="width: 100px;height: 100px" src="../images/registration/no-image.jpg" alt="your image" />
            <?php if (!empty($post['registration'])) { ?>
                <div id="image-div2">
                    <img id="img" src="<?php echo $post['registration'] ?>" style="height: 100px;width: 100px"/>
                </div>
            <?php } else {
                ?>
                <img id="myno_img2" style="width: 100px;height: 100px" src="../images/registration/no-image.jpg" alt="your image" />
            <?php }
            ?>
        </div>
    </div>
</div>
28.03.2018

  • где тег формы? 28.03.2018

Ответы:


1

Вам нужно инициализировать библиотеку загрузки с помощью $config, а не загружать ее снова. Вы загружаете библиотеку загрузки только один раз без какой-либо конфигурации, а затем каждый раз инициализируете ее своей конфигурацией.

$this->load->library('upload');
// (stuff for first file)
$this->upload->initialize($config);
// (stuff for second file)
$this->upload->initialize($config);
// (...)
28.03.2018
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..