簡體   English   中英

Codeigniter“您沒有選擇要上傳的文件。”

[英]Codeigniter 'You did not select a file to upload.'

我正在嘗試使用codeigniter上傳文件,無論我嘗試了什么,我都會收到錯誤消息,即我實際上沒有選擇文件。

我的控制器看起來像這樣

public function editHeader()
{
    $this->require_auth();      

    $config['upload_path'] = './files/';
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size'] = '1000KB';
            $config['max_width']  = '1024';
            $config['max_height']  = '768';

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

            if ( ! $this->upload->do_upload('userfile'))
            {
                $error = array('error' => $this->upload->display_errors());

                var_dump($error);
            }
            else
            {
                $data = array('upload_data' => $this->upload->data());
                echo('yeah!');
            }               
} 

而我的html只是一個codeigniter形式

<?foreach($header as $row) :?>
      <?=form_open_multipart('admin/editHeader');?>
         <input class="waitForLoad fadeInDown" type="file" name="userfile"  />
        <input type="submit" name="submit" value="Change" class="btn btn-success pull-right" />
      </form>
<?endforeach;?>

我已經嘗試了正常的解決方案,例如增加max_size以及將上載名稱放入do_upload函數中,但是似乎沒有任何效果,因此我要拔頭發了。 任何幫助表示贊賞!

上傳文件時,您需要使用form_open_multipart()而不是form_open()

您必須使用<?php echo form_open_multipart(path); ?> <?php echo form_open_multipart(path); ?>因為如果我們以表格形式編寫,則會在控制器中獲得$ _FILES。

添加后,如果u print_r($ _ FILES),則將獲得數組。

當我們進行與圖像上傳或驗證碼相關的工作時,這是必要的

暫無
暫無

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

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