zoukankan      html  css  js  c++  java
  • CI框架文件上传

    一. PHP上传原理

    view/up.php

    <html>
    <form action="/ci/index.php/upload/up" method="post" enctype="multipart/form-data"> 
    <input type="file" name="upfile">
    <input type="submit" name="sub" value="提交">
    </form>
    </html>
    

     controller/upload.php

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class Upload extends CI_Controller {
    
    	public function index()
    	{
    		$this->load->view('up');
    	}
    	function up()
    	{
    	if(!empty($_POST['sub']))
    	{
    		
         $file=($_FILES['upfile']);
    	// var_dump($file);
    	 if($file['size']>=2000000)
    		{
    		 echo "size no";
    	    }else{
    		switch($file['type'])
    			{
    		case 'image/pjpeg':
    			$hz=".jpg";
    		break;
    		default:
    			$hz=false;
    		break;		
    		}
    		if($hz)
    			{
    			$time=time();
    			$r=move_uploaded_file($file['tmp_name'],"./upload/{$time}{$hz}");
    			//echo $r;
    		}else{
    		echo "type no";
    		}
    		}
    
    	}
    	}
    }
    

    二. CI框架的上传操作

    1、定义一个数组,设置一些与上传相关的参数

    //设置上传目录,这里写./,目录要建在网站根目录,就是和application同级

    //如果你要放在application目录下,可以用系统定义的路径常量APPPATH

    //例如APPPATH.'uploads/',路径是相对框架的路径的,不是www的路径

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

    //设置允许上传的类型

    $config['allowed_types'] = 'gif|jpg|png';

    $config['max_size'] = '100';

    2、设置额外的参数

    3、调用CI的上传通用类,并执行上传

    //upload为调用的类名,全小写

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

    //如果上传框的name写的是userfile,那就不用传参数了,如果不是,把name的值传进去

    $this->upload->do_upload('上传框的name')

    4、接受出错信息或成功信息

    //出错信息

    $error = array('error' => $this->upload->display_errors());

     //成功信息,会把上传后的文件信息返回出来

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

    详细信息参见手册:http://codeigniter.org.cn/user_guide/libraries/file_uploading.html

  • 相关阅读:
    零散的学习总结
    JSON学习整理
    轮播图
    关于new Object的小结
    js函数声明和函数表达式的区别
    float小结
    DOM文档加载步骤
    css主要的浏览器兼容性问题
    js for循环小记
    CANVAS中的lineWidth小计
  • 原文地址:https://www.cnblogs.com/Hebe/p/3023095.html
Copyright © 2011-2022 走看看