使用codeigniter上传图片
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用codeigniter上传图片相关的知识,希望对你有一定的参考价值。
使用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();
}
}
它甚至不会将图像发送到目录。
答案
试试这个功能:
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() );
}
}
另一答案
确保你的html如下所示。
<input type="file" name="userfile" size="20" />
Codeigniter的上传库假定名称为“userfile”
另一答案
您需要将调用更改为do_upload(),具体取决于您为表单输入提供的名称。假设您的HTML中包含以下代码:
<input type="file" name="image" />
你需要改变:
$this->upload->do_upload()
至
$this->upload->do_upload('image')
默认情况下,CodeIgniter假定名称为“userfile”。
以上是关于使用codeigniter上传图片的主要内容,如果未能解决你的问题,请参考以下文章