Я пытаюсь добавить метод и мне нужно загрузить изображения, поэтому я делаю 4 обратных вызова, чтобы загрузить изображение, но это не так, как я ожидал, мой обратный вызов на form_validation не будет работать должным образом, он не может загрузить 4 изображенияи только два из них могут быть загружены. что-то не так с моим обратным вызовом? и могу ли я по-прежнему использовать обратный вызов для загрузки четырех изображений?
контроллер:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Produk extends CI_Controller {
private $_uploadMethod = NULL;
public function __construct()
{
parent::__construct();
if (!$this->session->userdata('status') == 'logged_in') {
redirect('auth');
}
$this->load->model('admin/Produk_model');
}
public function index()
{
$data['title'] = 'Produk';
$data['produk'] = $this->Produk_model->getAll();
$this->template->load('back/template/template', 'back/admin/produk/produk', $data);
}
public function add()
{
$data['title'] = 'Tambah Produk';
$data['kategori'] = $this->Produk_model->getAllKategori();
$data['ikm'] = $this->Produk_model->getAllIkm();
$this->_uploadMethod = 'add';
$this->form_validation->set_rules('nama_produk', 'Nama Produk', 'trim|required|max_length[100]');
$this->form_validation->set_rules('berat', 'Berat', 'trim|required|max_length[12]');
$this->form_validation->set_rules('deskripsi', 'Deskripsi Produk', 'trim|required');
$this->form_validation->set_rules('kategori_produk', 'Kategori Produk', 'trim|required');
$this->form_validation->set_rules('ikm_produk', 'IKM Produk', 'trim|required');
$this->form_validation->set_rules('foto_1', 'Gambar Produk 1', 'callback_imageValidation1');
$this->form_validation->set_rules('foto_2', 'Gambar Produk 2', 'callback_imageValidation2');
$this->form_validation->set_rules('foto_3', 'Gambar Produk 3', 'callback_imageValidation3');
$this->form_validation->set_rules('foto_4', 'Gambar Produk 4', 'callback_imageValidation4');
if ($this->form_validation->run() == FALSE) {
$this->template->load('back/template/template', 'back/admin/produk/add', $data);
} else {
$post = $this->input->post(NULL, TRUE);
var_dump($post);
}
}
public function delete($id_produk = NULL)
{
if ($id_produk == NULL) redirect('admin/produk');
}
public function imageValidation1()
{
if ($this->_uploadMethod == NULL) {
redirect('admin/produk');
}
$config['upload_path'] = './data/produk/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = 1024*2;
$config['overwrite'] = TRUE;
$config['max_filename'] = 240;
$config['file_name'] = $this->input->post('nama_produk').'_g1'.'_'.time();
$this->load->library('upload', $config);
if (!$this->upload->do_upload('foto_1')) {
$this->form_validation->set_message('imageValidation1', $this->upload->display_errors());
if ($this->_uploadMethod == 'edit') {
if ($_FILES['foto_1']['error'] != 4) {
return FALSE;
}
} else {
return FALSE;
}
} else {
return TRUE;
}
}
public function imageValidation2()
{
if ($this->_uploadMethod == NULL) {
redirect('admin/produk');
}
$config['upload_path'] = './data/produk/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = 1024*2;
$config['overwrite'] = TRUE;
$config['max_filename'] = 240;
$config['file_name'] = $this->input->post('nama_produk').'_g2'.'_'.time();
$this->load->library('upload', $config);
if (!$this->upload->do_upload('foto_2')) {
$this->form_validation->set_message('imageValidation2', $this->upload->display_errors());
if ($this->_uploadMethod == 'edit') {
if ($_FILES['foto_2']['error'] != 4) {
return FALSE;
}
} else {
return FALSE;
}
} else {
return TRUE;
}
}
public function imageValidation3()
{
if ($this->_uploadMethod == NULL) {
redirect('admin/produk');
}
$config['upload_path'] = './data/produk/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = 1024*2;
$config['overwrite'] = TRUE;
$config['max_filename'] = 240;
$config['file_name'] = $this->input->post('nama_produk').'_g3'.'_'.time();
$this->load->library('upload', $config);
if (!$this->upload->do_upload('foto_3')) {
$this->form_validation->set_message('imageValidation3', $this->upload->display_errors());
if ($this->_uploadMethod == 'edit') {
if ($_FILES['foto_3']['error'] != 4) {
return FALSE;
}
} else {
return FALSE;
}
} else {
return TRUE;
}
}
public function imageValidation4()
{
if ($this->_uploadMethod == NULL) {
redirect('admin/produk');
}
$config['upload_path'] = './data/produk/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = 1024*2;
$config['overwrite'] = TRUE;
$config['max_filename'] = 240;
$config['file_name'] = $this->input->post('nama_produk').'_g4'.'_'.time();
$this->load->library('upload', $config);
if (!$this->upload->do_upload('foto_4')) {
$this->form_validation->set_message('imageValidation4', $this->upload->display_errors());
if ($this->_uploadMethod == 'edit') {
if ($_FILES['foto_4']['error'] != 4) {
return FALSE;
}
} else {
return FALSE;
}
} else {
return TRUE;
}
}
}
извините за мой плохой английский.