5

我编写用于上传图像文件的代码。但它总是显示You did not select a file to upload.这是我的代码。

看法

<?php echo form_open_multipart('template/advertisement', array('id' => 'template-add-form', 'class' => 'form-horizontal')); ?>
    <?php echo form_fieldset('Add Advertisement', array('class' => '')); ?>
    <div class="control-group">
        <label class="control-label" for="add_l">Left Advertisement </label>
        <div class="controls">
            <input type="file" name="add_l"/>
        </div>
    </div>  
    <div class="control-group">
        <div class="controls">
            <input type="submit" name="add" value="Update Advertisement" class="btn btn-primary" /> 
        </div>
    </div>  
    <?php echo form_fieldset_close(); ?>
<?php echo form_close(); ?>

控制器

public function advertisement()
    {
        $headerData = array();
        $headerData['title'] = ucfirst('Advertisement');

        $data = array();

        if ($this->input->post() !== FALSE) {   
            $config = array();
            $config['upload_path'] = './images/add';
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size'] = '100';
            $config['max_width'] = '1024';
            $config['max_height'] = '768';
            $config['max_filename'] = '100';

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

            if ($this->upload->do_upload()) {
                $data['message'] = $this->upload->data();                       
            } else {
                $data['error'] = $this->upload->display_errors('<div class="alert alert-error">', '</div>');                
            }
        }

        $this->load->view('template/header.php', $headerData);
        $this->load->view('template/advertisement.php', $data);
        $this->load->view('template/footer.php');       
    }

请帮我。

4

2 回答 2

13

在您更改 PHP 时

$this->upload->do_upload()

$this->upload->do_upload("add_1")

其中“add_1”是您的输入名称属性。

Codeigniter 上传库文档

PS 在您的 HTML 中,标签属性 for="" 以输入 ID 为目标,因此您必须将 id 添加到您的输入中。

于 2013-03-27T10:28:13.577 回答
0

我最近遇到了这个问题并解决了它。您可以检查 php 中的模块文件信息是否已经打开?如果您可以访问 CPanel,您可以转到 SOFTWARE TAB 然后搜索 Select PHP Version,然后您可以看到模块列表并检查该模块文件信息。并尝试再次上传。

于 2017-02-07T23:32:45.397 回答