- <?php
-
- 控制器类名首字母必须大写并继承ci_controllor。
- 自定义类放在application/library/下,类文件名和类名首字母都必须大写。
- 1.如何去掉http:
- 首先,设置apache的配置文件httpd.conf,该文件默认在/apache/conf/目录下。
- 开启mod_rewrite.so模块,然后将需要进行rewrite的目录属性设置为AllowOverride All;
- 其次:设置Codeigniter的config.php文件,该文件默认在/system/application/config目录下。
- 将其中的$config[‘index_page’] = “index.php”一项改为$config[‘index_page’] = “”;
- 在index.php入口文件 建个.htaccess,写入以下代码
-
- RewriteEngine on
- # 此处有大坑。加上这两句可保证一般css、js文件正常加载。(注意删掉这句注释哦)
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond $1 !^(index\.php|images|robots\.txt)
- #ci设置根目录从哪里开始
- RewriteRule ^(.*)$ /ci/index.php/$1 [L]
-
-
- 2.CI提供的Session
-
- $this->load->library(‘session’);
- $str = “值”;
- $this->session->set_userdata(‘str’,$str);
- $this->session->userdata(‘str’);
-
-
- 3.CI提供的cookie
- Ci 提供的 $this->input->set_cookie($cookie);
-
-
-
- 4.CI 调用Model
- $this->load->model(“name_Model”);
- $this->name_Model->index();
-
- 5.CI数据库连接
- 打开config文件夹下的datebase.php配置数据库信息
- 在控制器里 $this->load->database();
-
-
- 6.CI 表单 POST 接收
-
- $name=$this->input->post(‘name’);
-
- 6.1关于url 段数接收
- http:
- 教程里面讲到 入口文件后面就是控制器的函数名 和 段数 ……n段
-
-
- echo $this->uri->segment(n) 为得到的字段
-
- 7.ci文件上传
- 配置上传参数
- $config[‘upload_path’] = ‘./uploads/’;
- $config[‘allowed_types’] = ‘gif|jpg|png’;
- $config[‘max_size’] = ‘100‘;
- $config[‘max_width’] = ‘1024‘;
- $config[‘max_height’] = ‘768‘;
- $this->load->library(‘upload’, $config);
-
- 完成上传动作,使用do_upload方法上传文件,成功返回ture,失败返回false,如果失败了,则可以使用$this->upload->display_errors() 获取错误信息,如果成功,使用$this->upload->data() 来获取文件信息。
-
- 注意:默认情况下上传的文件来自于提交表单里名为(上传框的name),并且该表单必须是 “multipart”类型:如果你想在执行do_upload函数使用自己的文件域名称,只需要将其作为do_upload函数的参数即可。
-
-
- $this->upload->do_upload(‘上传框的name’)
-
- if ( $this->upload->do_upload(‘上传框的name’))
- {#上传成功
- $data = array(‘upload_data’ => $this->upload->data());
- }
- else
- {#上传失败
- $error = array(‘error’ => $this->upload->display_errors());
- }
- 上传简便方法:创建一个名为upload.php的文件,添加 $config数组到该文件里,然后保存文件到:config/upload.php,它将被自动加载。把配置参数保存到该文件里,然后即可开始直接使用,这样即可避免每次上传都要配置上传参数的问题。
-
- 8.开启GET传值
- 将config.php中的$config[‘uri_protocol’] = ‘AUTO’;改为$config[‘uri_protocol’] = ‘PATH_INFO’;
- 9.ci 编辑传值
-
- 生成链接id,$row->title)?>
-
- 10.全站模板中的js,css,image访问方法
-
- 在config.php中增加配置数组,$config[‘static_url’] = ‘http:
- 然后在需要调用静态文件的地方使用 $this->config->item(‘static_url’);
-
- 11.开发登陆
-
- 12.模型介绍
- 什么是模型
-
- 1、模型是一个数据库类
-
- 2、一个模型针对一张表
-
- 3、类当中的方法是针对功能的具体需求而做的
-
- 1、模型的存放目录
-
- 项目目录/models/
-
- 2、创建目录就是创建一个类文件
-
- 必须继承数据核心类CI_Model,同时重载父类中的构造方法
-
- class Model_name extends CI_Model
- {
-
- function __construct()
- {
- parent::__construct();
- }
- }
- $this->load->model(模型名)
-
- $this->模型名->方法名
- 数据库操作
- CI为我们提供了一个非常强大和简单的数据库函数类
-
- Active Record 类
-
- \system\database\DB_active_rec.php
-
-
- 如何在模型中使用Active Record 类中的方法呢
-
- $this->db->方法名()
-
- 例如:
- $this->db->get(‘entries’, 10);
-
- 1、连接数据库($this->load->database();)
-
- 写在模型的构造函数里
- 这样加载模型的同时就连接了数据库了,非常方便
-
- 2、插入数据($this->db->insert($t_name,$data);)
-
- $t_name=你要操作的表
- $data=你要插入的数据(键名=字段名,键值=字段值,自增主键不用写)
- 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、设置一些CI分页类基本参数
-
- $config[‘total_rows’]
-
-
- $config[‘per_page’]
-
-
- $config[‘num_links’]
-
-
- $config[‘base_url’]
-
-
- $config[‘use_page_nums’]=true;
-
- 2、调用CI的分页类
- $this->load->library(‘pagination’);
-
-
- 3、执行分页方法
- $this->pagination->initialize($config);
-
- 4、输出分页链接
- echo $this->pagination->create_links();
- 5、查询部分数据(limit)
-
- $this->db->limit($end,$start);
-
- ?>