首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter:图片上传

问Codeigniter:图片上传
EN

Stack Overflow用户
提问于 2011-01-14 03:57:35
回答 4查看 23.6K关注 0票数 3

我有一个很大的表单,我刚刚添加了一个文件输入,允许用户上传图像。

下面是新的HTML:

代码语言:javascript
复制
<input type="file" name="file_1" />
<input type="text" name="image_description_1" class="text-input"/>

下面是新的_submit函数:

代码语言:javascript
复制
if($this->CI->input->post('file_1')){
    $config['overwrite'] = TRUE;
    $config['allowed_types'] = 'jpg|jpeg|gif|png';
    $config['max_size'] = 2000;
    $config['upload_path'] = realpath(APPPATH . '../assets/uploads/avatars');

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

    $image_data = $this->CI->upload->data();

    $image['description'] = $this->CI->input->post('image_description_1');
    $image['user_id'] = $id;
    $image['image'] = $image_data['file_name'];

    $this->CI->db->insert('report_images',$image);

}

描述和user_id已正确提交,但文件已丢失。

我应该做一些不同的事情吗?不太确定哪里出了问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-14 06:17:22

首先,不要想当然地得到do_upload(),你必须验证upload:

代码语言:javascript
复制
if ( ! $this->upload->do_upload('file_1'))
{
    // something went wrong, display errors
}   
else
{
    // everything is fine
}

另外,最有可能的是你的upload_path,检查我链接的文档:

代码语言:javascript
复制
//You'll need a destination folder for your uploaded images. Create a folder at the root of your CodeIgniter installation called uploads and set its file permissions to 777.  
$config['upload_path'] = './uploads/';

因此,您可能需要将您的设置更改为类似以下内容:

代码语言:javascript
复制
$config['upload_path'] = './assets/uploads/avatars/';
票数 8
EN

Stack Overflow用户

发布于 2011-01-14 04:00:08

codeigniter希望您的文件输入名为userfile,除非您在代码中像这样指定,

代码语言:javascript
复制
$field_name = "some_field_name";
$this->upload->do_upload($field_name)
票数 4
EN

Stack Overflow用户

发布于 2011-01-14 18:37:52

我不确定问题出在哪里。但下面的链接可能会对你有所帮助。

Upload file bug in codeigniter

您还可以初始化配置以设置首选项。

代码语言:javascript
复制
$this->upload->initialize($config);

File Uploading class in codeigniter

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4684612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档