簡體   English   中英

Codeigniter:無法上傳圖片(你沒有select文件上傳)

[英]Codeigniter: unable to upload image (You did not select a file to upload)

當我嘗試將圖像上傳到我的上傳文件夾時,我收到以下錯誤:

數組([錯誤] => 你沒有 select 文件上傳。)

我的觀點:

<form action="<?=base_url('create_public_profile_job') ?>" class="create-profile-form" method="POST">
     <input type="file" name="userfile" size="20000" />
     <button type="submit" class="create-profile-button">Submit</button>
</form>

我的 Controller

public function create_public_profile_job()
{ 
    if(isset($_POST['userfile']))
    {
            $this->User_model->do_upload($_POST['userfile']);
    }
}

我的 Model

public function do_upload($userfile)
{
    $this->load->helper('form');
    $this->load->helper('url');

    $config['upload_path']          = 'assets/uploads/';
    $config['allowed_types']        = 'gif|jpg|png';
    $config['max_size']             = 1000000;
    $config['max_width']            = 10240000;
    $config['max_height']           = 7680000;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload($userfile))
    {
            $error = array('error' => $this->upload->display_errors());
            print_r($userfile);
            print_r($error);
    }
    else
    {
            $data = array('upload_data' => $this->upload->data());

            print_r($data);
    }
}

The Model part is from the Codeigniter userguide https://codeigniter.com/userguide3/libraries/file_uploading.html

真的不知道問題出在哪里,因為我通過所有函數傳遞圖像

您必須在表單標簽中添加enctype="multipart/form-data"才能通過 forms 上傳數據。

將視圖更改為

<form action="<?=base_url('create_public_profile_job') ?>" class="create- 
profile-form" method="POST" enctype="multipart/form-data">
     <input type="file" name="userfile" size="20000" />
     <button type="submit" class="create-profile-button">Submit</button>
</form>

所以我弄清楚我的問題是什么。 或者更好的問題。

我的第一個問題是我必須添加到我的表單標簽: enctype="multipart/form-data"正如其他人已經在評論中指出的那樣

我的第二個問題是我必須添加我的 autoload.php 文件$autoload['libraries'] = array('database',.., 'upload');

最后但同樣重要的是,我更改$this->load->library('upload', $config); $this->upload->initialize($config); 不知何故,配置無法正確初始化,所以這解決了我的最后一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM