【PHP】MVC 思想之 CI 框架的学习总结(三)

来源:互联网 发布:仙剑奇侠传七 知乎 编辑:程序博客网 时间:2024/05/17 22:24
    如何利用 CI 提供的类库实现便捷功能:

    CI 类库:\system\libraries,载入库类:$this->load->library('类名', 参数数组);

        实例一:CI 文件上传,\system\libraries\Upload.php

            新建视图 \application\views\upfile.php

<html><head><title>CI 文件上传</title></head><body><form name="upFrm" id="upFrm" method="post" action="/CodeIgniter/index.php/upload/up" enctype="multipart/form-data"><input type="file" name="upfile" /><input type="submit" value="--提交--" /></form></body></html>
            新建控制器 \application\controllers\upload.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class Upload extends CI_Controller {public function index() {$this->load->view('upfile.php');}public function up() {$config['upload_path'] = './uploads/';$config['allowed_types'] = 'gif|jpg|png';$config['max_size'] = 1024*1024*20;$this->load->library('upload', $config);if ( $this->upload->do_upload('upfile') ){$data = array('upload_data'=>$this->upload->data());print_r( $data );} else {$error = array('upload_error'=>$this->upload->display_errors());print_r( $error );}}}
            创建上传文件夹 \CodeIgniter\uploads

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

        

        实例二:CI 会话 session,\system\libraries\Session.php

            注意:修改配置文件 \application\config\config.php
            $config['encryption_key'] = 'dymyw';  // 随便设置一个安全码

$this->load->library('session');$sess_array = array('uid'=>$userinfo[0]->uid);$this->session->set_userdata($sess_array);echo $this->session->userdata('uid');$this->session->unset_userdata('uid');


        实例三:CI 分页,\system\libraries\Pagination.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class Page extends CI_Controller {public function pagelist( $id ) {$this->load->model('tb_user');$user_all = $this->tb_user->sel_all();$user_num = count( $user_all );$per_page = 2;$config['total_rows']= $user_num;$config['per_page']= $per_page;$config['num_links']= 2;$config['base_url']= '/CodeIgniter/index.php/page/pagelist';$config['use_page_numbers']= true;$this->load->library('pagination');$this->pagination->initialize( $config );echo $this->pagination->create_links();echo '<br />';@$id = $id ? $id : 1;$start = ($id-1)*$per_page;$list = $this->tb_user->sel_limit($start, $per_page);print_r( $list );}}
// 分页查询public function sel_limit( $start, $num ){$this->db->select('*');$this->db->limit($num, $start);$query = $this->db->get('user');return $query->result();}


原创粉丝点击