Не удалось загрузить файлы Codeigniter - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь сделать Crud с помощью файла загрузки, но почему-то он продолжает возвращать FALSE, но я не знаю, что не так с моим кодом, если я var_dump ($ data) перед загрузкой условия показывает имя моего изображения, но если я var_dump ($ uploads) продолжает показывать false

Это мой контроллер

public function saveReimburse()
{
    validate_submitted_data(array(
        'nama' => 'required',
        'category_reimburse_id' => 'required',
        'amount' => 'required|numeric',
        'date_reimburse' => 'required',
    ));
    // data
    $data = [
        'nama' => $this->input->post('nama'),
        'category_reimburse_id' => $this->input->post('category_reimburse_id'),
        'amount' => $this->input->post('amount'),
        'date_reimburse' => $this->input->post('date_reimburse'),
        'photo' => $_FILES['photo'],
    ];

    // condition
    $date = date('Y-m-d');
    $date = strtotime($date);
    $date = strtotime('-7 day', $date);

    if ($data['date_reimburse'] < date('Y-m-d', $date)) {
        echo json_encode(array('succes' => FALSE, 'message' => 'Max Reimburse was 1 week ago'));
    } else {
        if ($data['photo'] = "") {
        } else {
            $config = [
                'upload_path' => './assets/reimburse',
                'allowed_types' => 'jpg|png|gif',
                'overwrite' => TRUE
            ];
            $this->load->library('upload', $config);
            $upload = $this->upload->do_upload('photo');

            var_dump($upload);exit;
            if (!$upload) {
                json_encode(array('success' => FALSE, 'message' => 'Failed Upload'));
                redirect('Reimburse/index', 'refresh');
            } else {
                $this->upload->data('file_name');
                $save = $this->reimburseModel->saveReimburse('reimburse', $data);
                var_dump($data);exit;
                if (!$save) {
                    echo json_encode(array('success' => FALSE, 'message' => 'Failed to reccord'));
                } else {
                    redirect('Reimburse/index', 'refresh');
                    echo json_encode(array('success' => TRUE, 'message' => 'Reimburse Success'));
                }
            }
        }
    }
}

и это моя модель

function saveReimburse($table,$data)
{
    $this->load->database('default', TRUE);
    if(!$this->db->insert($table,$data))
        return FALSE;
    $data["id"] = $this->db->insert_id();

    return (object) $data;
} 

Это мой входной код

<?php echo form_open_multipart(get_uri("Reimburses/saveReimburse"), array("id" => "formReimburse", "class" => "general-form", "role" => "form")); ?>
<div id="expense-dropzone" class="post-dropzone">
    <div class="modal-body clearfix">
        <!-- <form action =" " method='POST'> -->
            <div class="form-group">
                <label for="Nama">Nama</label>
                <input type="text" class="form-control" id="nama" name="nama" placeholder="Nama">
            </div>
            <div class="form-group">
                <label for="category_reimburse_id">Category</label>
                <select class="form-control form-control-lg" name="category_reimburse_id">
                <option value ="">-</option>
                <?php 
                foreach($category as $ct){?>
                    <option value ="<?php echo $ct->id ?>"><?php echo $ct->category ?></option>
                    <?php }?>
                </select>
            </div>
            <div class="form-group">
                <label for="amount">Amount</label>
                <input type="text" class="form-control" id="amount" name="amount" placeholder="Amount">
            </div>
            <div class="form-group">
                <label for="date_reimburse">Date</label>
                <input type="date" class="form-control" id="date_reimburse" name="date_reimburse" value='<?php echo date('Y-m-d') ?>'>
            </div>
            <div class="form-group">
                <div class="form-group">
                    <label for="photo">Input Photo</label>
                    <input type="file" class="form-control-file" id="photo" name ="photo">
                </div>
            </div>
            <div class="float-right">
                <button type="cancel" class="btn btn-warning ">Cancel</button>
                <button type="submit" class="btn btn-primary ">Submit</button>
            </div>
        <!-- </form> -->
    </div>
</div>
<?php echo form_close() ?>

Ответы [ 3 ]

0 голосов
/ 28 февраля 2020

Попробуйте добавить приведенный ниже путь загрузки

'upload_path' => '../assets/reimburse';
0 голосов
/ 28 февраля 2020

Поставьте один / после возмещения как "./assets/reimburse/" может решить проблему может быть и папка ресурсов в root директории

0 голосов
/ 28 февраля 2020

Проверьте ошибку, используя функцию ошибки

print_r($this->upload->display_errors());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...