【问题标题】:Unable to upload Image - Codeigniter - PHP无法上传图片 - Codeigniter - PHP
【发布时间】:2015-04-24 06:35:49
【问题描述】:

无法使用 CI 上传库上传图片。它虽然没有显示错误。我可以为function do_upload() 使用其他名称吗?如果可能的话,我是否需要更改这一行中的 do_upload 部分? $this->upload->do_upload();

//Upload library and file helper defined in autoload.//

function updatemember($id)
{ 
if($this->input->post('imagefull_org')) {

    $config['upload_path'] ='./assets/upload/members'; 
    $config["allowed_types"] = 'jpg|jpeg|png|gif';
    $config["file_name"] = $this->input->post('imagefull_org');
    $config["max_size"] = 2048;
    $config["max_width"] = 400;
    $config["max_height"] = 400;
    $this->upload->initialize($config);
    $this->upload->do_upload();
    $datai = array('upload_data' => $this->upload->data());
    //print_r($datai);exit();
    if(!$this->upload->do_upload()) {               
        $this->session->set_flashdata('ok_message',$this->upload->display_errors());}     
}
//codes...
}

查看: 这是我的观点。

<div class="col-md-12 col-sm-12 form-group"> 
                <?php echo form_label('Organization logo')?>
                <?php echo form_upload('imagefull_org')?><br/><span class="display_message">&nbsp;Image Size must be 200 X 200px (less than 2MB)</span>
                <?php if(!empty($u->imagefull_org)){?>
                <?php echo form_hidden('imagechk_org', $u->imagefull_org)?>
                <img src="<?php echo base_url().'assets/upload/members/'.$u->imagefull_org?>" width="50px"/>               
                <br><p style="font-weight: bold;font-size: 16px;color: #2A4D79;">
                <a href="<?php echo base_url().'account/imgunlink/'.$u->id.'/'.$u->imagefull_org.'/'.'imagefull_org'?>" class="btn">Delete Image</a></p>
                <?php }?>              
            </div>

结束

【问题讨论】:

  • 您是否有机会查看文档以了解您的代码结构是否正确?如果没有任何错误,调试问题确实是一项艰巨的工作,尤其是当我们没有关于您的代码的足够(我的意思是每个细节)信息时。
  • 您对 ./assets/upload/members 有正确的权限吗?您是否尝试使用 error_reporting 函数来查看您得到了什么错误?网络服务器日志说什么?
  • 可能是文件夹权限问题。
  • 对不起,权限问题不是问题。
  • 显示完整的上传表单,而不是仅显示部分。

标签: php codeigniter file-upload


【解决方案1】:

你忘记了
$this-&gt;upload-&gt;do_upload()函数中的参数
试试这个
$this-&gt;upload-&gt;do_upload('imagefull_org')

$config["file_name"] = $this-&gt;input-&gt;post('imagefull_org') 中的其他明智问题 如果第一个解决方案不起作用,请尝试提供其他方式的图像名称

对不起,我没有更多的声誉,所以我可以发表评论。

【讨论】:

  • 它不工作。我尝试了 $this->upload->do_upload('imagefull_org') 以及 $this->upload->do_upload($this->input->post('imagefull_org'))
  • @NostalgicMirazAryal 请尝试我现在​​的解决方案,首先还要检查您是否忘记了form_open_multipart() 以创建表单。
【解决方案2】:

请务必使用

form_open_multipart()

并尝试将文件名设置为

$config["file_name"] = $_FILES["imagefull_org"]["name"];

最后,

$this->upload->do_upload('imagefull_org');

编辑

试试看

if (isset($_FILES["imagefull_org"])) {

}

而不是

if ($this->input->post('imagefull_org')) {

}

希望对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2021-08-10
    • 2020-07-02
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多