如何在CodeIgniter中上传图片? [英] How to upload image in CodeIgniter?

查看:92
本文介绍了如何在CodeIgniter中上传图片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

查看

 <?php echo form_open_multipart('welcome / do_upload');?> 
< input type =filename =userfilesize =20/>

在控制器中

 code> function do_upload()
{
$ config ['upload_path'] ='./uploads/';
$ config ['allowed_types'] ='gif | jpg | png';
$ config ['max_size'] ='100';
$ config ['max_width'] ='1024';
$ config ['max_height'] ='768';
$ config ['overwrite'] = TRUE;
$ config ['encrypt_name'] = FALSE;
$ config ['remove_spaces'] = TRUE;
if(!is_dir($ config ['upload_path']))die(THE UPLOAD DIRECTORY DOES NOT EXIST);
$ this-> load-> library('upload',$ config);
if(!$ this-> upload-> do_upload('userfile')){
echo'error';
} else {

return array('upload_data'=> $ this-> upload-> data());
}
}

我这样调用这个函数

  $ this-> data ['data'] = $ this-> do_upload 

并查看此图片:

 < ul> 
<?php foreach($ data ['upload_data'] as $ item => $ value):?>
< li><?php echo $ item;?> ;:<?php echo $ value;?>< / li>
<?php endforeach; >
< / ul>

我不知道错误是什么。

解决方案

似乎问题是你发送表单请求到 welcome / do_upload ,并调用欢迎:: $ this-> do_upload()在另一个中的欢迎:: do_upload()方法。



因此,当您在第二种方法中调用 $ this-> do_upload(); 时, $ _ FILES 数组



这就是为什么 var_dump ['upload_data']); 返回 NULL



来自 welcome / second_method 的文件,将表单请求发送到 welcome / second_method ,其中调用 $ this->然后按如下所示更改表单助手函数(在 View 中):

1 :

  //将'second_method'更改为您的方法名
echo form_open_multipart / second_method');






使用CodeIgniter上传档案



CodeIgniter 记录了上传过程 <强>很好,通过使用文件上传库。



您可以查看用户指南中的示例代码;此外,为了更好地了解上传配置,请检查手册页末尾的配置项说明部分。



还有几个有关在CodeIgniter中上传文件的文章/示例,您可能需要考虑:



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆