Codeigniter 文件上传不起作用
Posted
技术标签:
【中文标题】Codeigniter 文件上传不起作用【英文标题】:Codeigniter file upload not working 【发布时间】:2013-03-17 09:20:53 【问题描述】:我编写用于上传图像文件的代码。但它总是显示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');
请帮助我。
【问题讨论】:
【参考方案1】:在您的 PHP 更改时
$this->upload->do_upload()
到
$this->upload->do_upload("add_1")
其中“add_1”是您的输入名称属性。
Codeigniter UPLOAD library docs
附:在您的 html 中,标签属性 for="" 以输入 ID 为目标,因此您必须将 id 添加到您的输入中。
【讨论】:
它对我不起作用:(无法弄清楚确切的问题。也检查了文件夹权限。没有成功.. @VishalParkash 最好用您的代码示例在 SO 中提出新问题。评论它不起作用对您没有帮助 OK.. 但是我的代码看起来完全一样,这就是为什么我认为我应该评论,否则我正在创建另一个问题。无论如何.. 我正在使用 CorePHP 样式上传文件。【参考方案2】:我最近遇到了这个问题并解决了它。您可以检查 php 中的模块文件信息是否已经打开?如果您可以访问 CPanel,您可以转到 SOFTWARE TAB 然后搜索 Select PHP Version,然后您可以看到模块列表并检查该模块文件信息。并尝试重新上传。
【讨论】:
以上是关于Codeigniter 文件上传不起作用的主要内容,如果未能解决你的问题,请参考以下文章
“上传路径似乎无效”。 Codeigniter文件上传不起作用[关闭]