根本原因在这,libraries/Session/Session.php 中 128行: 如果sessionid的长度不是40的话,每次执行都会 unset($_COOKIE[ci_session]).而session_id取值范围和长度在php7中变了(我这边的默认是26) 解决办法: 将上面的/^[0-9a-f]{40}$/, 改成 /^[0-9a-z]{10,40}$/…
php7.3升级后CI框架session失效session不能读取的问题 框架ci3.0.2,php服务器从5升级到7.x后发现session失效了ci无法设置session的问题根本原因在,libraries/Session/Session.php 中 133行: // Sanitize the cookie, because apparently PHP doesn't do that for userspace handlers if (isset($_COOKIE[$this->_con…
config.php配置 $config['sess_driver'] = 'files';//以文件存储session $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = APPPATH.'/data/session'; //配置session路径 $config['sess_match_ip'] = FALSE; $config['…
这个是我平时用的是 PHP 自己的 Session 机制,是真正的 PHP Session,存储在服务器端,而不是用的 cookie 接口完全兼容于 CI 2.0.x 的 Session 类库,也就是说可以不修改原来的代码,直接替换成这个类库 具体接口内容请参考 http://codeigniter.org.cn/user_guide/libraries/sessions.html 放到 application/libraries 目录下即可 <?php if ( ! defined('BASE…
最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明 在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过.本文中反复出现和提及的术语包括: 前端控制器(Front Controller): 用于集中控制用户的所有请求的组件,将用户的请求发…
mac 安装memcached brew info memcached brew install memcached brew install memcached 安装过程具体不详细多讲 memcached -h 然后启动memcached memcached -d -l 127.0.0.1 -p 11212 -m 128 或 启动Memcache的服务器端:memcached -d -m 100 -u root -l 192.168.36.200 -p 11211 -c 256 -P /tmp…
原文链接: https://blog.csdn.net/qq_38148394/article/details/87921373 此功能实现使用到PHPExcel类库,PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景. (一) PHPExcel下载 类库下载地址:https://github.com/PHPOffice/PHPExcel (二) PHPExcel引入到CI框架 1) 解压压…
一.我们在控制器中添加session写入和读取的2个函数,如图: 二.我们用浏览器访问login页面,可以看到有一串被加密的cookies,在CI中session也是以cookies的方式存放的 三.我们来读取一下showsession页面,可以读取出之前传入的数据…
[军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的   之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们,要知道这才刚刚开始额~~~ 这一节,我们主要来了解CI的文件结构和CI是如何工作的.这一点特别的重要! 一.CI的文件结构:了解CI的文件结构可以帮助我们快速的对CI框架有一个整体的认识,就好像我们去了一个陌生的城市一样,对你来讲周围的一切都是陌生和未知的,要想快速的了解这座城市,你可以买一张这座城…
CI目录结构   CI主要组成部分为,application(应用文件夹).system(系统文件夹)和index.php入口文件.     应用文件夹中主要是存放控制器.模型和视图等,系统文件夹中主要是存放组成CI的核心文件的,index.php入口文件是一个单一入口文件,所谓单一文 件是指在一个网站(应用程序)中,所有的请求都是指向的这么一个文件,由它负责接收并处理URL中的控制器和方法.换句话说, 它调用一个 '控制器', 然后返回一个'视图'.   application : cache…
CI框架配置方面注意的细节 在config里面的database.php里面是和数据库配置相关的内容 $db['default'] = array( 'dsn' => '', 'hostname' => '127.0.0.1, //ip 'username' => 'root', //用户名 'password' => 'root', //密码 'database' => 'kp_community', //数据库名称 'dbdriver' => 'mysqli', /…
php CI框架实现验证码功能和增强验证码安全性实战教程 CodeIgniter简称CI是最流行的一个php MVC框架之一,本人讲从实际项目使用中写系列实战经验,有别与其他的理论讲解文章,会附上实战流程和代码. 第一篇为大多数项目使用到的安全验证码,例如用户登录.注册.留言板.意见反馈.论坛防灌水等地方都会用到. 文章将默认你已经配置好php开发环境(本人使用的是XAMPP)和CodeIgniter基础项目了,采用MVC三个部分分开讲解. 主要内容来源于本人原创百度经验 php CodeIgn…
一个简单的登陆写好之后,发现每次进入需要登陆之后才能进入的页面都会跳转到登录页面,猜测应该是session被清了,打印出来,果然为空,但是我没有设置session的生存周期,按照默认的应该是24小时,怎么会被清空呢. 到ci框架config下的config.php里面查看,发现一项配置,$config['sess_time_to_update'] = 300;sess_update方法会根据这里配置的时间间隔值,定时更新数据库中的session信息(换个新sessionId),同时设置cooki…
ci框架开发商城2 1/28/2016 9:45:52 PM mvc完整案例 mvc完成新闻的增删改查 news控制器news.php class News extends CI_controller{ public __construct(){ parent::__construct(); //载入news_model $this->load->model('news_model');} public function add(){ $this->load_view('add.html…
一.下载CI框架并安装,这里放置一张自己的项目目录结构图 目录框架搭建好之后开始将自己的项目与框架融合 二.更改相关配置 1.用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL $config['base_url'] = 'http://localhost/项目所在文件夹名/' 2.打开 application/config/database.php 去设置你的数据库参数 $db['default']['username'] = '数据库用…
CI框架目录结构: |-application (应用目录) |-system (核心目录) |-downexcel (文件存在目录) |-ZipBackDir (备份目录) |-index.php (入口文件) $zip=new ZipArchive(); //生成压缩后文件名 $ZipBackDir = "ZipBackDir/1.zip"; if($zip->open($ZipBackDir, ZipArchive::CREATE)=== TRUE){ $this->…
从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index…
@update 2016-4-2 13:45:35 一.目录结构 ci_demo ├─myapp 应用主目录 │ ├─autoload.php 自定义的自动加载文件(可选) │ ├─myapp.php应用入口文件,拷贝index.php得到,注意修改$application_folder = 'myapp'; │ ├─cache 缓存目录 │ ├─config 配置目录,包括autoload,database,routes等 │ ├─controllers 控制器目录,可以分为api和web部分…
各种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 exte…
http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codeigniter框架的具体安装步骤 |-----官网下载:http://www.codeigniter.com/ |-----httpd.conf配置文件中rewrite重写机制的开启 |-…
一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codeigniter框架的具体安装步骤 |-----官网下载:http://www.codeigniter.com/ |-----httpd.conf配置文件中rewrite重写机制的开启 |-----httpd.conf配置文件虚拟主机的开启 |-----httpd-vhosts.conf配置文件中虚拟主…
从本篇開始.将深入CI框架的内部.一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说.全局函数具有最高的载入优先权.因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就很诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源代码阅读笔记2 一切的入口 index…
    业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包也就2M多,而且使用起来方便快捷,适用于一些简单的功能开发,以及做app 接口.       该框架整个流程图如下: li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } span.s1 { } sp…
CodeIgniter框架版本:3.1.7 ,php版本:5.6.* ,mysql版本:5.6 在Ci框架中,可以在application/config/database.php中配置多个group,比如: 下面的代码分别定义了3个group,两个线上group分别是write和read,另外一个是offline的group,注意offline的group的ip和前两个group的ip是不一样的. <?php $active_group = 'write'; $query_builder = T…
用php版本是5.6,CI框架版本是2.x,在使用验证码(captcha)时,遇到一些问题. 首先,我查看框架手册,说必需的两个参数是"img_url",“img_path”,其他的参数都可以省略,但是,我在使用的时候,如果只指定这两个参数,一运行就会报错, 错误信息显示没有word_length,word,还有0作为除数. 然后我就在验证码配置数组中加上一个'word_length'=>8,然后运行,但是依旧有错误,查看错误信息,依旧是word_length未定义 然后我在配置…
当前(2019-03-22)CodeIgniter 框架的最新版本是 3.1.5,于2017年6月发布,距今快两年了也没有更新,这与 Laravel 的更新速度相比差距太大了.因为确实,它是一个很古老的框架了(第一个版本在2006年发布),当初的设计原则,开发环境与现在都已经大为不同.它有自己的设计原则,有相配套的一大堆工具.库,使用这些现有的工具就已经能很好地满足日常开发所需. 虽然已经是2019年了,但是公司用的框架是CI框架,所以我也应当快速适应CI框架的开发模式.本文就针对CI框架开发中…
这个本来是很基础的东西,基本上用过CI的人都知道这些,原本是不消说的~但是因为毕业论文是关于CodeIgniter的,所以我必须把大大小小的东西都写出来做成记录~ CodeInigter,一个轻量,功能全面的PHP框架,使开发者可以轻易的使用MVC的结构来开发web应用. 下载一份CI的代码(最新的为2012.10.08更新的2.1.3),我们可以看到根目录下只有五个文件/文件夹,其中user_guide文件夹里为说明文档,license.txt为许可协议,去掉user_guide的CodeIg…
最近在整理项目中的日志问题,查了一些关于 “CI 框架中的日志处理 以及 404异常处理” 的东西,顺便记录一下: 关于错误日志: 1. 在CI框架中的 system/core/CodeIgniter.php  中注册了处理函数(这个是PHP7之后的异常处理机制:可以使用set_error_handler来注册自己的错误处理方法来代替php的标准错误处理方式) 详见:https://blog.csdn.net/zhang197093/article/details/75094816 set_er…
CI框架浅析(全篇)     业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包也就2M多,而且使用起来方便快捷,适用于一些简单的功能开发,以及做app 接口.       该框架整个流程图如下: index.php 文件作为前端控制器,初始化运行 CodeIgniter 所需的基本资源: Router 检查 HTTP 请求,以确定如何处理该请求: 如果存…
PHP,mysql,CI框架学习总结 PHP标记 1.Xml风格<?php ?> 2.简短风格 <? ?> 需在php.ini中开启short_open_tag 3.asp风格 <% %> 需在php.ini中开启asp.tags 4.脚本风格 <script language="php"></script> PHP注释 1.单行注释://,# 2.多行注释:/* */ 变量申明 1.以$为开头 2.大小写敏感 静态变量Eam…