使用codeigniter上传图片

问题描述 投票:0回答:3

使用codeigniter上传图像时遇到困难,它一直说我没有选择要上传的文件。

这是我的代码

function do_upload()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'jpg|png';
    $config['max_size'] = '3000';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';

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

    if (!$this->upload->do_upload()){
        echo $this->upload->display_errors();
    }else{
        echo $this->upload->data();
    }
}

它甚至不会将图像发送到目录。

codeigniter
3个回答
1
投票

试试这个功能:

function upload_done() {
 $config['overwrite'] = TRUE;
 $config['encrypt_name'] = FALSE;
 $config['remove_spaces'] = TRUE;
 $config['upload_path'] = '/var/www/uploadfiles/'; // use an absolute path
 $config['allowed_types'] = 'jpg|png';
 $config['max_size'] = '0'; 
 if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
 $this->load->library('upload',$config);
 if ( ! $this->upload->do_upload() )
 {
  echo "UPLOAD ERROR ! ".$this->upload->display_errors();
 } else {
  echo "THE IMAGE HAS BEEN UPLOADED : "; var_dump( $this->upload->data() );
 }
}

0
投票

确保你的html如下所示。

    <input type="file" name="userfile" size="20" />

Codeigniter的上传库假定名称为“userfile”


0
投票

您需要将调用更改为do_upload(),具体取决于您为表单输入提供的名称。假设您的HTML中包含以下代码:

<input type="file" name="image" />

你需要改变:

$this->upload->do_upload()

$this->upload->do_upload('image')

默认情况下,CodeIgniter假定名称为“userfile”。

© www.soinside.com 2019 - 2024. All rights reserved.