Несколько загрузок файлов с различными ввода и расширения - PullRequest
0 голосов
/ 23 сентября 2019

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

здесь мой контроллер

class Admin extends CI_Controller
{
public function buku()
    {
        $data['title'] = 'Buku Management';
        //mengambil data dari session controller auth
        $data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();

        $this->load->model('Admin_model', 'admin');
        $data['buku'] =  $this->admin->getAllBuku();
        $data['kategori'] = $this->db->get('kategori')->result_array();

        $this->form_validation->set_rules('judul', 'Judul', 'required');
        $this->form_validation->set_rules('kategori_id', 'Kategori', 'required');
        $this->form_validation->set_rules('pengarang', 'Pengarang', 'required');
        $this->form_validation->set_rules('penerbit', 'Penerbit', 'required');
        $this->form_validation->set_rules('tahun', 'Tahun', 'required');
        $this->form_validation->set_rules('mata_pelajaran', 'Mata Pelajaran', 'required');
        $this->form_validation->set_rules('jml_hlm', 'jml_hlm', 'required');
        $this->form_validation->set_rules('deskripsi', 'Deskripsi', 'required');


        if ($this->form_validation->run() == false) {
            $this->load->view('templates/header', $data);
            $this->load->view('templates/sidebar', $data);
            $this->load->view('templates/topbar', $data);
            $this->load->view('admin/buku', $data);
            $this->load->view('templates/footer');
        } else {
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size'] = '10000';
            $config['upload_path'] = './assets/img/bse/';
            //load library upload
            $this->load->library('upload', $config);
            $this->upload->do_upload('cover');
            $image_upload = $this->upload->data('file_name');

            $config2['allowed_types'] = 'pdf';
            $config2['upload_path'] = './assets/pdf/';
            //load library upload
            $this->upload->initialize($config2);
            $this->upload->do_upload('file_buku');
            $file_buku = $this->upload->data('file_name');

            $data = [
                'judul' => $this->input->post('judul'),
                'kategori_id' => $this->input->post('kategori_id'),
                'pengarang' => $this->input->post('pengarang'),
                'penerbit' => $this->input->post('penerbit'),
                'mata_pelajaran' => $this->input->post('mata_pelajaran'),
                'tahun' => $this->input->post('tahun'),
                'jml_hlm' => $this->input->post('jml_hlm'),
                'deskripsi' => $this->input->post('deskripsi'),
                'cover' => $image_upload,
                'tanggal_upload' => time(),
                'file_buku' => $file_buku,
                'pengupload' => 1
            ];

            $this->db->insert('buku', $data);
            $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Buku Sudah ditambahkan</div>');
            redirect('admin/buku');
        }
    }

}

здесь мои модели

class Admin_model extends CI_Model
{
    public function getAllUser()
    {
        $query = "SELECT `user`.*, `user_role`.`role`
                FROM `user` JOIN `user_role`
                ON `user`.`role_id` = `user_role`.`id`";

        return $this->db->query($query)->result_array();
    }
    public function getAllBuku()
    {
        $query = "SELECT `buku`.*, `kategori`.`kategori_nama`
                FROM `buku` JOIN `kategori`
                ON `buku`.`kategori_id` = `kategori`.`kategori_id`";

        return $this->db->query($query)->result_array();
    }
    public function getDetailBuku($id)
    {
        $query = "SELECT `buku`.*, `kategori`.`kategori_nama`
                FROM `buku` JOIN `kategori`
                ON `buku`.`kategori_id` = `kategori`.`kategori_id`
                WHERE `buku`.`id` = $id";

        return $this->db->query($query)->result_array();
    }}

здесь мои взгляды

<div class="modal fade" id="newBukuModal" tabindex="-1" role="dialog" aria-labelledby="newBukuModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="newBukuModalLabel">Tambah Buku</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <?= form_open_multipart('admin/buku'); ?>
                    <div class="modal-body">
                        <div class="form-group">
                            <input type="text" class="form-control" id="judul" name="judul" placeholder="Judul Buku">
                        </div>
                        <div class="form-group">
                            <select name="kategori_id" id="kategori_id" class="form-control">
                                <option value="">Pilih Kategori</option>
                                <?php foreach ($kategori as $k) : ?>
                                    <option value="<?= $k['kategori_id']; ?>"><?= $k['kategori_nama']; ?></option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control" id="pengarang" name="pengarang" placeholder="Nama Pengarang">
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control" id="penerbit" name="penerbit" placeholder="Penerbit buku">
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control" id="mata_pelajaran" name="mata_pelajaran" placeholder="Mata Pelajaran">
                        </div>
                        <div class="form-group">
                            <input type="number" class="form-control" id="tahun" name="tahun" placeholder="Tahun Terbit">
                        </div>
                        <div class="form-group">
                            <input type="number" class="form-control" id="jml_hlm" name="jml_hlm" placeholder="Jumlah Halaman">
                        </div>
                        <div class="form-group">
                            <textarea class="form-control" name="deskripsi" id="deskripsi" placeholder="Tuliskan Deskripsi Buku"></textarea>
                        </div>
                        <div class="form-group">
                            <div class="custom-file">
                                <input type="file" class="custom-file-input" id="cover" name="cover">
                                <label class="custom-file-label" for="cover">Pilih Cover</label>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="custom-file">
                                <input type="file" class="custom-file-input" id="file_buku" name="file_buku">
                                <label class="custom-file-label" for="file_buku">Pilih File</label>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                        <button type="submit" class="btn btn-primary">Add</button>
                    </div>
                    </form>
                </div>
            </div>

входной файл name = "cover" для изображения и name = "file_buku" для файлов .pdf.я думаю, алгоритм в функции buku () был неправильным.я понятия не имею об этом

...