CI(4)

文件上传的步骤以及应该注意的地方
1:提交上传
 1)在php.ini中设置file_uploads = On
 2)表单的提交形式必须为post
 3)enctype="multipart/form-data"
 4)type="file"
2:接收信息
 $_FILES 
 原文件名
 临时文件名
 大小
 文件编码格式
 报错信息
3:根据接收到的信息判断文件格式,大小等等
4:执行上传 move_uploaded_file()


CI框架的文件上传的步骤
1:文件上传类是system\libraries\Upload.php
2:执行上传的步骤
1) $config['upload_path']="./upload";  //上传到的目录,注意用相对路径  upload需要手动建立
$config['allowed_types']="gif|jpg|png";  //限制文件类型
$config['max_size']="20000";    //限制上传文件大小  单位为B
    2)  $this->load->library("upload",$config);  加载上传类  并且写入congfig的参数
3)$this->upload->do_upload("file")  执行操作过程,括号里面的参数为表单的name
4)$this->upload->data()   获取上传参数
代码如下
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Upload extends CI_Controller {

function index(){
echo "文件上传";
}
function normal_upload(){
if($_POST){
$name     = $_FILES['file']['name'];
$type     = $_FILES['file']['type'];
$tmp_name = $_FILES['file']['tmp_name'];
$error    = $_FILES['file']['error'];
$size     = $_FILES['file']['size'];  //单位为B
$time     = time();
if($size){
//可以对文件大小  或者$type增加一些限制

}
$name=iconv("UTF-8","gb2312", $name); //防止中文名乱码
$bool = move_uploaded_file($tmp_name,"./upload/".$time.$name);
if($bool){
echo "上传成功";
//可以做一些入库操作
}else{
echo "上传失败";
}
}else{
$this->load->view("upload/index");
}
}
function ci_upload(){
if($_POST){
$config['upload_path'] = './upload/';
$config['allowed_types'] = 'gif|jpg|png|txt';
$config['max_size'] = '100';
$this->load->library("upload",$config);
if($this->upload->do_upload("file")){
$data=array('upload_data'=>$this->upload->data()); //获取上传数据 入库
//print_r($data);
}
}else{
$this->load->view("upload/index");
}
}

}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值