PHP开发框架codeigniter问题集合(不断更新中……)

  1. <?php   
  2.   
  3. 控制器类名首字母必须大写并继承ci_controllor。  
  4. 自定义类放在application/library/下,类文件名和类名首字母都必须大写。  
  5. 1.如何去掉http://localhost/index.php/admin    url 包含的  index.php   
  6. 首先,设置apache的配置文件httpd.conf,该文件默认在/apache/conf/目录下。  
  7. 开启mod_rewrite.so模块,然后将需要进行rewrite的目录属性设置为AllowOverride All;  
  8. 其次:设置Codeigniter的config.php文件,该文件默认在/system/application/config目录下。  
  9. 将其中的$config[‘index_page’] = “index.php”一项改为$config[‘index_page’] = “”;  
  10. 在index.php入口文件 建个.htaccess,写入以下代码  
  11.   
  12. RewriteEngine on  
  13. # 此处有大坑。加上这两句可保证一般css、js文件正常加载。(注意删掉这句注释哦)  
  14. RewriteCond %{REQUEST_FILENAME} !-f  
  15. RewriteCond %{REQUEST_FILENAME} !-d   
  16. RewriteCond $1 !^(index\.php|images|robots\.txt)  
  17. #ci设置根目录从哪里开始  
  18. RewriteRule ^(.*)$ /ci/index.php/$1 [L]   
  19.   
  20.         
  21. 2.CI提供的Session  
  22.      
  23.    $this->load->library(‘session’);  
  24.    $str = “值”;  
  25.    $this->session->set_userdata(‘str’,$str);           //设置session  
  26.    $this->session->userdata(‘str’);                        //获取session  
  27.     
  28.   
  29. 3.CI提供的cookie   
  30.     Ci 提供的 $this->input->set_cookie($cookie);        
  31.     //显然不起作用的可以用  set_cookie(‘name’,$user, ‘86500’); 参数:1.key  2.value  3.时间周期  
  32.   
  33.   
  34. 4.CI 调用Model  
  35.     $this->load->model(“name_Model”);      //new name_Model  
  36.     $this->name_Model->index();                             //  调用该Model里面的函数  
  37.       
  38. 5.CI数据库连接  
  39.     打开config文件夹下的datebase.php配置数据库信息  
  40.     在控制器里   $this->load->database();      // 打开数据库    $this->db->close();  //关闭数据库  
  41.       
  42.   
  43. 6.CI  表单 POST 接收  
  44.   
  45.   $name=$this->input->post(‘name’);  
  46.     
  47. 6.1关于url 段数接收  
  48. http://localhost/index.php/admin/m/s  
  49. 教程里面讲到 入口文件后面就是控制器的函数名 和 段数 ……n段  
  50.   
  51.   
  52. echo $this->uri->segment(n) 为得到的字段  
  53.   
  54. 7.ci文件上传  
  55. 配置上传参数  
  56.   $config[‘upload_path’] = ‘./uploads/’;  
  57.   $config[‘allowed_types’] = ‘gif|jpg|png’;  
  58.   $config[‘max_size’] = ‘100‘;  
  59.   $config[‘max_width’]  = ‘1024‘;  
  60.   $config[‘max_height’]  = ‘768‘;   
  61.   $this->load->library(‘upload’, $config);//加载上传类库  
  62.    
  63.  完成上传动作,使用do_upload方法上传文件,成功返回ture,失败返回false,如果失败了,则可以使用$this->upload->display_errors() 获取错误信息,如果成功,使用$this->upload->data() 来获取文件信息。  
  64.   
  65. 注意:默认情况下上传的文件来自于提交表单里名为(上传框的name),并且该表单必须是 “multipart”类型:如果你想在执行do_upload函数使用自己的文件域名称,只需要将其作为do_upload函数的参数即可。  
  66.   
  67. //如果上传框的name写的是userfile,那就不用传参数了,如果不是,把name的值传进去  
  68. $this->upload->do_upload(‘上传框的name’)  
  69.   
  70. if ( $this->upload->do_upload(‘上传框的name’))  
  71.   {#上传成功    
  72.    $data = array(‘upload_data’ => $this->upload->data());   
  73.    }  
  74.   else  
  75.   {#上传失败   
  76.     $error = array(‘error’ => $this->upload->display_errors());  
  77.   }  
  78. 上传简便方法:创建一个名为upload.php的文件,添加 $config数组到该文件里,然后保存文件到:config/upload.php,它将被自动加载。把配置参数保存到该文件里,然后即可开始直接使用,这样即可避免每次上传都要配置上传参数的问题。  
  79.     
  80.  8.开启GET传值  
  81.  将config.php中的$config[‘uri_protocol’]   = ‘AUTO’;改为$config[‘uri_protocol’]  = ‘PATH_INFO’;  
  82. 9.ci 编辑传值  
  83.   
  84. 生成链接id,$row->title)?>  
  85.   
  86. 10.全站模板中的js,css,image访问方法  
  87.   
  88. 在config.php中增加配置数组,$config[‘static_url’]    = ‘http://域名/application/views’;  
  89. 然后在需要调用静态文件的地方使用 $this->config->item(‘static_url’);  
  90.   
  91. 11.开发登陆  
  92.   
  93. 12.模型介绍  
  94. 什么是模型  
  95.   
  96. 1、模型是一个数据库类  
  97.   
  98. 2、一个模型针对一张表  
  99.   
  100. 3、类当中的方法是针对功能的具体需求而做的  
  101.   
  102. 1、模型的存放目录  
  103.   
  104. 项目目录/models/  
  105.   
  106. 2、创建目录就是创建一个类文件  
  107.   
  108. 必须继承数据核心类CI_Model,同时重载父类中的构造方法  
  109.   
  110. class Model_name extends CI_Model   
  111. {  
  112.   
  113.     function __construct()  
  114.     {  
  115.         parent::__construct();  
  116.     }  
  117. }  
  118. $this->load->model(模型名)  
  119.   
  120. $this->模型名->方法名  
  121. 数据库操作  
  122. CI为我们提供了一个非常强大和简单的数据库函数类  
  123.   
  124. Active Record 类  
  125.   
  126. \system\database\DB_active_rec.php  
  127.   
  128.   
  129. 如何在模型中使用Active Record 类中的方法呢  
  130.   
  131. $this->db->方法名()  
  132.   
  133. 例如:  
  134. $this->db->get(‘entries’, 10);  
  135.   
  136. 1、连接数据库($this->load->database();)  
  137.   
  138. 写在模型的构造函数里  
  139. 这样加载模型的同时就连接了数据库了,非常方便  
  140.   
  141. 2、插入数据($this->db->insert($t_name,$data);)  
  142.   
  143. $t_name=你要操作的表  
  144. $data=你要插入的数据(键名=字段名,键值=字段值,自增主键不用写)  
  145. 3、更新数据  
  146. $this->db->where(字段名, 字段值);  
  147. $this->db->update(表名,修改值的数组);   
  148.   
  149. 4、查询数据  
  150. $this->db->where(字段名, 字段值);  
  151. $this->db->select(字段);  
  152. $query = $this->db->get(表名);  
  153. return $query->result();  
  154. 5、删除数据  
  155. $this->db->where(字段名, 字段值);  
  156. $this->db->delete(表名);  
  157.   
  158. 分页功能  
  159. 1、设置一些CI分页类基本参数  
  160. //总条数  
  161. $config[‘total_rows’]  
  162.   
  163. //一页显示几条  
  164. $config[‘per_page’]   
  165.   
  166. //定义当前页的前后各有几个数字链接  
  167. $config[‘num_links’]  
  168.   
  169. //定义没有分页参数,主URL  
  170. $config[‘base_url’]  
  171.   
  172. //定义参数后缀  
  173. $config[‘use_page_nums’]=true;  
  174.   
  175. 2、调用CI的分页类  
  176. $this->load->library(‘pagination’);  
  177.   
  178.   
  179. 3、执行分页方法  
  180. $this->pagination->initialize($config);  
  181.   
  182. 4、输出分页链接  
  183. echo $this->pagination->create_links();  
  184. 5、查询部分数据(limit)  
  185.   
  186. $this->db->limit($end,$start);  
  187.   
  188. ?>  

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

www.admin122.com 关注微信
24小时客服在线