失败的上传文件编码器

问题描述 投票:0回答:2

我正在尝试使上传文件变得杂乱无章,但不知何故它始终返回FALSE,但是如果条件上传之前我使用var_dump($ data),则我不知道我的代码出了什么问题,它显示了我的图像名称,但是如果我使用var_dump ($ uploads)保持显示为假

这是我的控制器

    public function saveReimburse()
{
    validate_submitted_data(array(
        'nama' => 'required',
        'category_reimburse_id' => 'required',
        'amount' => 'required|numeric',
        'date_reimburse' => 'required',
        // 'photo' => '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'],
        // 'status'=> $this->input->post("PENDING"),
        // 'nama' => $this->input->post('nama'),
    ];


    // 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 {
        // var_dump($data);
        // exit;
        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() ?>
php codeigniter file-upload crud image-upload
2个回答
0
投票

使用错误功能检查错误

print_r($this->upload->display_errors());

0
投票

尝试添加下面的上传路径

'upload_path' => '../assets/reimburse';
© www.soinside.com 2019 - 2024. All rights reserved.