【问题标题】:You didnot select a file to upload error in codeigniter您没有选择要上传的文件在 codeigniter 中出错
【发布时间】:2019-11-21 16:45:32
【问题描述】:

我收到“您没有选择要上传的文件”之类的错误消息。这是一个奇怪的问题,我不知道我的代码哪里出错了。

我的控制器代码如下:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends MY_Controller {

public function do_upload()
        {       
                ini_set("display_errors",1); // I added so it would help me show errors
                error_reporting(E_ALL);

                //print_r($this->input->post());exit(); // post result shows "submit = submit"
                $config['upload_path']          = '/assets/uploads/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 10000;
                //$config['max_width']            = 1024;
                //$config['max_height']           = 768;
                //print_r($config);exit();
                $this->load->library('upload', $config);
                $this->upload->initialize($config);

                if ( ! $this->upload->do_upload())
                {
                        $error = array('error' => $this->upload->display_errors());
                        $this->load->view('login/header');
                        $this->load->view('login/dashboard/add_logo', $error);
                        $this->load->view('login/footer');
                }
                else
                {
                        $data = array('upload_data' => $this->upload->data());

                        $this->load->view('upload_success', $data);
                }
        }

我只是想在我的页面上上传一个徽标。我没有存储到数据库中,所以现在没有模型。 我的视图代码如下:

<div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-md-12">
                        <div class="card">
                            <div class="col-md-12">
                            <div class="header">
                                <h4 class="title">Header/Footer Logo</h4>

                            </div>
                            </div>
                            <div class="col-md-12">

                            <form action="<?php echo site_url();?>/dashboard/do_upload" role="form" method="post" enctype="multipart/form-data">
                            <div class="panel">
                                <div class="panel-body">
                                    <b><?php if(isset($error)) echo $error; ?></b>
                                    <div class="form-group">
                                        <label>Logo</label>
                                        <input class="form-control" type="file" name="picture" />
                                    </div>
                                     <div class="form-group">
                                        <input type="submit" class="btn btn-warning" name="submit" value="submit">
                                    </div>
                                </div>
                            </div>
                          </form>
                          </div>
                        </div>
                    </div>
                   </div>
            </div>
        </div>

【问题讨论】:

    标签: codeigniter file-upload


    【解决方案1】:

    您错过了在 do_upload 函数中添加文件输入的名称属性。

    你有:&lt;input class="form-control" type="file" name="picture" /&gt;

    那么就这样做吧:

    if ( ! $this->upload->do_upload('picture')){
      // your code
    }
    

    【讨论】:

    • 是的@vickel,现在它说“上传路径似乎无效。”
    • 好的,当我找到正确的路径时,我已经清除了。感谢您的及时帮助!
    • 另外,一旦您在实时服务器上,请确保您的上传文件夹是可写的 (chmod 777)。
    • 是的@vickel,这是有道理的。谢谢。
    猜你喜欢
    • 2014-03-05
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多