Codeigniter:图像上传

Codeigniter:图像上传,codeigniter,upload,Codeigniter,Upload,我有一个大表单,我只是添加了一个文件输入,允许用户上传一个图像 以下是新的HTML: <input type="file" name="file_1" /> <input type="text" name="image_description_1" class="text-input"/> 说明和用户id已正确提交,但文件丢失 我应该做些不同的事情吗?不确定出了什么问题。codeigniter希望您的文件输入名为userfile,除非您在代码中这样指定 $field_n

我有一个大表单,我只是添加了一个文件输入,允许用户上传一个图像

以下是新的HTML:

<input type="file" name="file_1" />
<input type="text" name="image_description_1" class="text-input"/>
说明和用户id已正确提交,但文件丢失


我应该做些不同的事情吗?不确定出了什么问题。

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

$field_name = "some_field_name";
$this->upload->do_upload($field_name)

首先,不要理所当然地获得
do_upload()
,您必须验证:

另外,很可能是您的
上传路径
,请检查我链接到的文档:

//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/';
因此,您可能需要将设置更改为:

$config['upload_path'] = './assets/uploads/avatars/';

我不确定是什么问题。但是下面的链接可能会对你有所帮助

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

$this->upload->initialize($config);

确保输入文件的名称设置为“userfile”,因为上载功能希望文件来自名称设置为“userfile”的输入字段。

我更改了我的html
name=“userfile”
。还是不走运。如果(!$this->CI->upload->do_upload()){$this->CI->upload->display_errors();}`ah!你能把这个添加到你的代码中吗!我得到了“您没有选择要上载的文件”…我已经用
form\u open
form\u open\u multipart
两种方法尝试了这一点。同样,db值正在被输入,只是没有上传。这可能与我的文件路径有关吗?首先,您当然需要使用
表单\u open\u multipart
!另外,您的资产文件夹在哪里?在系统文件夹之外?您的文件夹结构是什么?应用程序、资产和系统位于根目录。@凯文·布朗:好的,
$config['upload\u path']='。/assets/uploads/avatars/应该工作吗?我刚让它工作。非常感谢你。我是个十足的白痴
$config['upload_path'] = './assets/uploads/avatars/';
$this->upload->initialize($config);