各种demo——CI框架学习

 

寒假学习一下CI框架,请各位多多指教!

一.CI的HelloWorld!

注意:CI禁止直接通过文件目录来访问控制器。

 ./application/controllers/hello.php
1 <?php
2 //放止用户直接通过路径来访问控制器,如果这样的话会显示找不到(封装)
3 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
4
5 class Hello extends CI_Controller {
6
7 public function sayhello($name,$name2){
8 echo $name,",Hello CI to ",$name2;
9 }
10 }

aaarticlea/jpeg;base64,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" alt="" />

二.CI的文本计时器demo——文本操作与调用视图操作

调用视图的基本格式:

$this->load->view('XXX');

 1 <?php
2 //./applications/controllers/hello.php
3 //放止用户直接通过路径来访问控制器,如果这样的话会显示找不到(封装)
4 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
5
6 class Hello extends CI_Controller {
7
8 public function sayhello($name,$name2){
9 echo $name,",Hello CI to ",$name2;
10 }
11
12 public function show(){
13 $name = "deng";
14 @$count = file_get_contents('./num.txt'); //装饰器
15 $count = $count ? $count:0;
16 $count++;
17 $data = array('key'=>$name,'value'=>$count);
18
19 $re = fopen('./num.txt','w');
20 fwrite($re, $count);
21
22 $this->load->view("testview.php",$data); //装载两个视图页面
23 $this->load->view("testview2.php");
24 }
25 }

三.CI的数据库demo——对数据模型的增,删,改,查

数据模型——

1.数据模型是一个数据库类

2.一个模型针对一张表

创建一个模型必须注意——

必须继承数据核心类CI_Model,同时重载父类中的构造方法

class Model_name extends CI_Model
{
function __construct()
{
parent::__construct();
}
}

对数据库的操作——

1.连接数据库($this->load->database());

2.插入数据($this->db->insert($t_name,$arr);)

$t_name——你要操作的表]

$arr——你要插入的数据("key"=>value)

3.更新数据

$this->db->where(字段名,字段值)

$this->db->update(表名,修改值的数组)

4.查询数据

$this->db->where(字段名,字段值)

$this->db->select(字段)

$query = $this->db->get(表名)

return $query->result();

5.删除数据

$this->db->where(字段名,字段值)

$this->db->delete(表名)

 1 ./application/controllers/user.php
2 <?php
3 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
4
5 class User extends CI_Controller {
6
7 public function insert(){
8 $this->load->model('test_m');
9 $arr = array('usid'=>1,'uname'=>'deng1','upass'=>'1234');
10 $this->test_m->user_insert($arr);
11 }
12
13 public function update(){
14 $this->load->model('test_m');
15 $arr = array('usid'=>22,'uname'=>'deng222','upass'=>'1233333');
16 $this->test_m->user_update(2,$arr);
17 }
18
19 public function delete(){
20 $this->load->model('test_m');
21 $this->test_m->user_delete(22);
22 }
23
24 public function select()
25 {
26 $this->load->model('test_m');
27 $arr = $this->test_m->user_select(1);
28 print_r($arr);
29 echo $arr[0]->usid;
30
31 }
32 }
33
34 /* End of file welcome.php */
35 /* Location: ./application/controllers/welcome.php */
 1 <?php
2 /**
3 * ./application/models/test_m.php
4 */
5 class Test_m extends CI_Model
6 {
7
8 function __construct()
9 {
10 parent::__construct();
11 //connect to the database
12 $this->load->database();
13 //$this->load->insert($t_name,$data)
14 }
15
16 function user_insert($arr){
17 $this->db->insert('user',$arr);
18 }
19
20 function user_update($id,$arr)
21 {
22 $this->db->where('usid',$id);
23 $this->db->update('user',$arr);
24 }
25
26 function user_delete($id){
27 $this->db->where('usid',$id);
28 $this->db->delete('user');
29 }
30
31 function user_select($id){
32 $this->db->where('usid',$id);
33 $this->db->select('*');
34 $query = $this->db->get('user');
35 return $query->result();
36 }
37 }
38 ?>

四.CI的文件上传demo

1.面向过程的文件上传方法

 1 #/controllers/upload.php
2 <?php
3 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
4
5 class Upload extends CI_Controller {
6
7 //显示带表单的视图
8 public function index(){
9 $this->load->view('up');
10
11 }
12
13 //显示上传信息
14 public function up(){
15
16 if(!empty($_POST['sub'])){
17 //打印变量的函数
18 //var_dump($_FILES['upfile']);
19 $file = $_FILES['upfile'];
20 if($file['size'] >= 20000000){
21 echo "size no!";
22 }
23 else{
24 switch ($file['type']) {
25 case 'image/jpeg':
26 $br = '.jpg';
27 break;
28
29 default:
30 $br = false;
31 break;
32 }
33
34 if($br){
35 $time = time();
36 move_uploaded_file($file['tmp_name'], "./upload/$time$br");
37
38 }
39 else{
40 echo "type no";
41 }
42 }
43
44 }
45 }
46
47 }
1 #/views/up.php
2 <html>
3 <!--注意相对路径的建立-->
4 <form action="/CI/index.php/upload/up" method="post" enctype="multipart/form-data">
5 <input type="file" name="upfile" />
6 <input type="submit" name="sub" value="提交" />
7
8 </form>
9 </html>

2.面向对象的CI框架文件上传方法

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

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

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

//例如:APPPATH.'uploads/'

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

//设置允许上传的类型

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

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

//如果是图片还可以设置最大高度和宽度

$config['max_height'] = 768;

$config['max_width'] = 1024;

b.还可以设置其他的一些额外参数,详细看用户手册

c.调用CI的上传通用类,并执行上传

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

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

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

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

d.接收出错信息或成功信息

//出错信息

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

//成功信息

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

 1 <?php
2 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
3
4 class Upload extends CI_Controller {
5
6 //显示带表单的视图
7 public function index(){
8 $this->load->view('up');
9
10 }
11
12 //显示上传信息
13 public function up(){
14
15 $config['upload_path'] = './uploads/';
16 $config['allowed_types'] = 'gif|jpg|png';
17 $config['max_size'] = "2000";
18
19 $this->load->library('upload',$config);
20
21 //打印成功或错误的信息
22 if($this->upload->do_upload('upfile'))
23 {
24 $data = array("upload_data" => $this->upload->data());
25 var_dump($data);
26 }
27 else
28 {
29 $error = array("error" => $this->upload->display_errors());
30 var_dump($error);
31 }
32 }
33
34 }

五.CI的登录验证demo

1.利用CI类实现session登录

a.修改配置文件(config.php)

$config['encryption_key']

b.加载SESSION类

$this->load->library('session');

c.创建SESSION

$this->session->set_userdata($array);

d.查看SESSION

$this->session->userdata(session名);

e.删除SESSION

$this->session->unset_userdata('SESSION名');

 1 ./application/controllers/login.php
2 <?php
3 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
4
5 class Login extends CI_Controller {
6
7 public function index()
8 {
9 $this->load->view('login.html');
10 }
11
12 public function checklogin(){
13 $this->load->model("test_m");
14 $user = $this->test_m->user_select($_POST['uname']);
15 if($user){
16 if($user[0]->upass == $_POST['upass']){
17 echo '密码正确!';
18 $this->load->library('session');
19 $arr = array("uid" => $user[0]->usid);
20 $this->session->set_userdata($arr);
21 echo "<br />";
22 echo $this->session->userdata('uid');
23 }
24 else{
25 echo '密码不正确!';
26 }
27 }
28 else{
29 echo '用户名不存在';
30 }
31 }
32
33 public function checksession(){
34 $this->load->library('session');
35 if($this->session->userdata('uid')){
36 echo '已经登录。';
37 }
38 else{
39 echo '没有登录。';
40 }
41 }
42
43 public function loginout(){
44 $this->load->library('session');
45 $this->session->unset_userdata('uid');
46 }
47 }

六.CI的分页功能demo

1.必须知道的一些参数

a.总共有多少条记录

b.一页要有多少条记录

c.总共多少页

d.当前页前后要显示多少个分页链接

2.设置一些CI分页类基本参数

//总条数

$config['total_rows']

//一页显示几条

$config['per_page']

//定义当前页的前后各有几个数字链接

$config['num_links']

//定义没有分页参数,主URL

$config['base_url']

3.调用CI的分页类

$this->load->library('pagination');

4.执行分页方法

$this->pagination->initialize($config);

5.输出分页链接

echo $this->pagination->create_links();

6.查询部分数据(limit)

echo $this->db->limit($num,$start);  //从$start查$num条

 1 ./applications/controllers/page.php
2 <?php
3 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
4
5 class Page extends CI_Controller {
6
7 public function user_add(){
8 $this->load->model('test_m');
9
10 for ($i = 1;$i <= 100;$i++){
11 $name = 'u'.$i;
12 $arr = array("usid"=>$i,"uname"=>$name,"upass"=>123456);
13 $this->test_m->user_insert($arr);
14
15 }
16 }
17
18 public function pagelist(){
19 $this->load->model('test_m');
20 $user = $this->test_m->user_select_all();
21 $allnum = count($user);
22 $pagenum = 20;
23
24 $config['total_rows'] = $allnum;
25 $config['per_page'] = $pagenum;
26 $config['num_links'] = 3;
27 $config['base_url'] = "/CI/index.php/page/pagelist";
28 $config['use_page_numbers'] = true;
29
30 $this->load->library('pagination');
31 $this->pagination->initialize($config);
32
33 var_dump($this->pagination->create_links());
34 echo $this->pagination->create_links();
35
36 echo "<br />";
37 $id = $this->uri->segment(3); //获得url第三段字符
38 $id =$id ? $id:1;
39 $start = ($id - 1) * $pagenum;
40 $list = $this->test_m->user_select_limit($start,$pagenum);
41 var_dump($list);
42 }
43 }

各种demo——CI框架学习的更多相关文章

  1. PHP,mysql,Linux,CI框架学习总结

    PHP,mysql,CI框架学习总结 PHP标记 1.Xml风格<?php ?> 2.简短风格 <? ?> 需在php.ini中开启short_open_tag 3.asp风格 ...

  2. ci框架学习告一段落,总结一下

    从网上弄了一张框架学习思维导图,从图中就可以看出ci用了设计模式中的MVC架构,使得用起来很简单方便 用了大概两个星期开发了一个<文章管理系统>觉得开发过程中学到了很多,挺不错的,而且在学 ...

  3. PHP CI框架学习

    CI框架的URL辅助函数使用 URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 在使用CI框架的使用经常碰到跳转和路径方面的问题,site_url()和base_url()很容 ...

  4. CI框架学习笔记

    打印SQL语句$this->dbRead->last_query(); 重映射方法正如上文所说,URI 的第二段通常决定控制器的哪个方法被调用.CodeIgniter 允许你使用 _rem ...

  5. CI框架学习——基本的用法(一)

    一.必备知识 1.如何访问你的页面 我在控制器下面建立了admin文件夹,此文件夹下有login.php 文件,我们现在要访问这个文件 http://localhost/gradesystem/ind ...

  6. 【ci框架学习】控制器-视图

    基础的东西就不写了,网上大把的教程,可以慢慢磨.这里说些要注意的要点. 1.所有控制器都必须间接或者直接继承控制器基类 CI_Controller. 2.文件命名尽量小写,因为ci使用的是pathin ...

  7. 【ci框架学习】环境搭建

    系统 -- Ubuntu 14.0(虚拟机linux 实体机Windows) 目标环境 -- lnmp 附加内容: 1.目录共享(方便代码编写) 2.使用secure crt终端软件连接(便于操作,不 ...

  8. PHP CI框架学习笔记-分页实现程序

    视图html  <div id="body"> <form action="/index.php/search/index/" method= ...

  9. ci框架学习中注意的事项

    视图: 加载视图:$this->load->view('name'); 一次可以加载多个视图,如: public function index() { $data['page_title' ...

随机推荐

  1. [转]使用VC/MFC创建一个线程池

    许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生.还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息.线程池可以让你更有效地使用线程,它为你的应用程序提供一个由系统 ...

  2. C# 从入门到精通

    int i=null; int? i=null; 我们用一个问号 来指定这个值类型是可空的 属性是只读的

  3. Winform 基础知识 之文件夹操作

    using System.IO; /// <summary> /// 删除文件夹下所有文件 /// </summary> /// <param name="di ...

  4. 三种方法实现js跨域访问

    转自:http://narutolby.iteye.com/blog/1464436 javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档 ...

  5. 代码实现UI控件

    参考 Android 用纯代码实现复杂界面

  6. 【转】HBase 超详细介绍

    ---恢复内容开始--- http://blog.csdn.net/frankiewang008/article/details/41965543 1-HBase的安装 HBase是什么? HBase ...

  7. .NET中异常处理的最佳实践(转)

    原文出处: CodeProject   译文出处:周见智的博客   欢迎分享原创到伯乐头条 介绍 “我的软件程序从来都不会出错”.你们相信吗?我几乎可以肯定所有人都会大喊我是个骗子.“软件程序几乎不可 ...

  8. JVM的GC理论详解

    GC的概念 GC:Garbage Collection 垃圾收集.这里所谓的垃圾指的是在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM(堆溢出) ...

  9. node相关--测试

    测试: assert模块; //node自带 var assert = require('assert'); var now = Date.now(); console.log(now); asser ...

  10. WPF MVVM模式下的无阻塞刷新探讨

    很多时候我们需要做一个工作,在一个方法体里面,读取大数据绑定到UI界面,由于长时间的读取,读取独占了线程域,导致界面一直处于假死状态.例如,当应用程序开始读取Web资源时,读取的时效是由网络链路的速度 ...