ci php做多图上传,CodeIgniter框架之上传图片功能的实现

在做一个网站的发布作业模块,想通过上传作业图片实现发布作业功能。现在把实现过程介绍一下,代码部分会有相应的注释以帮助理解,适合新手小白参考,希望大神阅后留下指导,莫笑~

创建上传表单页面

新建一个文件 upload_form.php ,放入如下代码,并保存到 application/views/ 目录下:

Upload Form

创建上传成功页面

新建一个文件 upload_success.php ,放入如下代码,并保存到 application/views/ 目录下:

Upload Form

Your file was successfully uploaded!

<?php foreach ($upload_data as $item => $value):?>

<?php echo $item;?>: <?php echo $value;?>

编写上传文件控制器

新建一个控制器 Upload.php ,放入如下代码,并保存到 application/controllers/ 目录下:

class Upload extends CI_Controller {

public function __construct()

{

parent::__construct();//调用父类中的构造函数

$this->load->helper(array('form', 'url'));//加载辅助函数,帮助生成上传页面的form的起始标签

}

public function index()

{

$this->load->view('upload_form');//加载文件上传页面

}

public function do_upload()//执行上传的关键函数

{

$config['upload_path'] = './uploads/';//文件即将上传到的目录路径,注意这里经常出错

$config['allowed_types'] = 'gif|jpg|png';//允许上的文件 MIME 类型

$config['max_size'] = 100;//允许上传文件大小的最大值(单位 KB),设置为 0 表示无限制

$config['max_width'] = 1024;//图片的最大宽度(单位为像素),设置为 0 表示无限制

$config['max_height'] = 768;//图片的最小高度(单位为像素),设置为 0 表示无限制

$this->load->library('upload', $config);//初始化文件上传类,其中$this->load->library('类名');

if ( ! $this->upload->do_upload('userfile'))//如果不满足条件

{

$error = array('error' => $this->upload->display_errors());//获取错误信息

print_r($error);//打印错误信息

//$this->load->view('upload_form', $error);手册中给出的,未使用

}

else

{

$data = array('upload_data' => $this->upload->data());//把上传文件的相关数据赋给$data变量

$this->load->view('upload_success', $data);//加载上传成功页面,将上传文件的相关数据一并加载

}

}

}

?>

创建上传文件的目录

在 CodeIgniter 的安装根目录下创建一个 uploads 目录,用来保存上传的图片。

运行

使用类似于下面的 URL 来方法你的站点:

example.com/index.php/upload/

或者

http://localhost/index.php/项目名/控制器名

通过以上操作,你将看到一个上传文件的表单,尝试着上传一个图片文件(jpg、gif 或 png 都可以), 如果你的控制器中路径设置正确,你就可以成功上传文件了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值