如何利用 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();
}