您的位置:首页 > 编程语言 > PHP开发

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

2012-08-18 09:34 821 查看
如何利用 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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: