CI框架源码阅读,系统常量文件constants.php的配置

配置系统常量
1、当文件系统工作的时候检查并配置这些首选项
文件系统运行的时候这些默认的值会适当的增加系统的安全性,但是在php或apache的底层单独的为每各用户开一个进程的时候,使用八进制的值永远是正确的
FILE_READ_MODE 读取文件的模式
FILE_WRITE_MODE   写入文件的模式
DIR_READ_MODE   读取目录的模式
DIR_WRITE_MODE 写入目录的模式

2、文件流模式
当我们使用fopen()/popen()的时候需要这些模式
define('FOPEN_READ', 'rb');
define('FOPEN_READ_WRITE', 'r+b');
define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb');
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE',  'w+b');
define('FOPEN_WRITE_CREATE', 'ab');
define('FOPEN_READ_WRITE_CREATE', 'a+b');
define('FOPEN_WRITE_CREATE_STRICT', 'xb');
define('FOPEN_READ_WRITE_CREATE_STRICT',  'x+b');

文件源码:


代码如下:

[php] 
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/*
|--------------------------------------------------------------------------
| File and Directory Modes
|--------------------------------------------------------------------------

| These prefs 控制台、首选项 are used when checking and setting modes when working
| with the file system.  The defaults are fine 罚款 on servers with proper
| security, but you may wish (or even need) to change the values in
| certain environments (Apache running a separate process for each
| user, PHP under CGI with Apache suEXEC, etc.).  Octal values should
| always be used to set the mode correctly.

*/ 
define('FILE_READ_MODE', 0644); 
define('FILE_WRITE_MODE', 0666); 
define('DIR_READ_MODE', 0755); 
define('DIR_WRITE_MODE', 0777);

/*
|--------------------------------------------------------------------------
| File Stream Modes 文件流模式
|--------------------------------------------------------------------------

| These modes are used when working with fopen()/popen()

*/

define('FOPEN_READ',                            'rb'); 
define('FOPEN_READ_WRITE',                      'r+b'); 
define('FOPEN_WRITE_CREATE_DESTRUCTIVE',        'wb'); // truncates existing file data, use with care 
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE',   'w+b'); // truncates existing file data, use with care 
define('FOPEN_WRITE_CREATE',                    'ab'); 
define('FOPEN_READ_WRITE_CREATE',               'a+b'); 
define('FOPEN_WRITE_CREATE_STRICT',             'xb'); 
define('FOPEN_READ_WRITE_CREATE_STRICT',        'x+b');

/* End of file constants.php */ 
/* Location: ./application/config/constants.php */

(0)

相关推荐

  • CI框架开发新浪微博登录接口源码完整版

    首先来看下流程:流程原理:     1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三方登录表里面叫sina_id,那个表是需要自己建的)     2.查询第三方登录表,如果不存在用户sina_id,分2种情况,一:用户在平台已经有帐号,这时需要把平台(比如:平台的用户表是:user_reg)用户id绑定到第三方登录表(比如是:third_login表),然后就让客户登录;                             

  • CI框架中site_url()和base_url()的区别

    在使用CI框架的使用经常碰到跳转和路径方面的问题,site_url()和base_url()很容易混淆,下面来说说他们的区别! 假如你config文件里面的base_url和index_page是这样定义的: config['base_url'] = "http://domain.com/"; config['index_page'] = "index.php"; 那么你若使用site_url("news/php/2");则实际url为 http

  • CI框架实现框架前后端分离的方法详解

    本文实例分析了CI框架实现框架前后端分离的方法.分享给大家供大家参考,具体如下: 我们在使用CI框架开发中(或者使用所有的其他框架开发中),总是习惯于将所开发项目的前端和后台分离开来,将各自的控制器.模型或视图放到不同的文件夹中.在这一点上ThinkPHP框架要比CI框架更要方便一些.这篇博文我们就讲述如何实现根据CI框架开发将前后端实现分离.(本文以本人开发的Pkadmin后台管理系统为例,Pkadmin后台管理系统是基于Codeigniter_v3.1.0框架和Olive Admin后台模版

  • CI框架中cookie的操作方法分析

    本文实例讲述了CI框架中cookie的操作方法.分享给大家供大家参考.具体分析如下: 第一种设置cookie的方式:采用php原生态的方法设置的cookie的值 复制代码 代码如下: setcookie("user_id",$user_info['user_id'],86500);  setcookie("username",$user_info['username'],86500);  setcookie("password",$user_in

  • CI框架自动加载session出现报错的解决办法

    很多程序员在CI中使用session的时候,开启自动加载session之后网站就报错了,具体错误信息如下:In order to use the Session class you are required to set an encryption key 下面一起来看问题解决办法. 提示信息说明:如果想用session类的话就必须要设置一个加密的密钥!那就给设置一个吧,毕竟也是出于安全考虑. 打开application/config/config.php找到Encryption Key 复制代

  • php ci框架验证码实例分析

    php代码: 复制代码 代码如下: <?php class Captcha_code{ var $width='60'; var $num='4'; var $height='20'; var $name='randcode'; public function __construct($conf="") {  if($conf!="")  {   foreach($conf as $key=>$value)   {    $this->$key=$

  • 如何解决CI框架的Disallowed Key Characters错误提示

    用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示.有人说 url 里有非法字符.但是确定 url 是纯英文的,问题还是出来了.但清空浏览器历史记录和cookies后. 刷新就没问题了.有时候.打开不同的浏览器.有的浏览器会有问题.有的就不会. 解决 CodeIgniter 框架应用中,出现Disallowed Key Characters错误提示的方法.找到/system/core文件夹下的Input文件,将下面的代码: 复制

  • CI框架中libraries,helpers,hooks文件夹详细说明

    1.library文件夹 如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是有class组成的,可以看看如果加载library注意事项! 2.helper文件夹 如果你需要使用一些函数来帮你完成一些小功能,那么就把它放着,这里都是过程式的代码而不是类,一般helper是用于view的,使用方法如下: 复制代码 代码如下: $this->load->helper('filename') filename是辅助函数对应的文件名,不包括_helper.php扩展名.文件名应该保存为:

  • php ci框架中加载css和js文件失败的解决方法

    在将html页面整合到ci框架里面的时候,加载css和js失败,弄了半天发现ci框架是入口的框架,对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件的时候要使用base_url()函数处理外部的链接. 比如: 在config配置文件中的base_url为:" localhost:8080/项目名称/ " 在控制器中访问application/resource/aaa.js文件 相对路径<script src= "resource/a

  • CI框架Session.php源码分析

    CI的Session并不是原生的session,正是我前面所有的cookie based session,另外,CI可以根据用户选择配置是否将session存入数据库中,本人很喜欢这个功能,还有就是"闪出数据"的功能,既闪出数据只是对下次服务器请求可以,之后就会被自动清除.常见使用方法有: $this->session->set_userdata('some_name', 'some_value'); //设置session数据 $this->session->

  • php CI框架插入一条或多条sql记录示例

    1.插入一条记录 $data = array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ); $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date') 2.插入多条记录 $data

  • CI框架入门示例之数据库取数据完整实现方法

    本文实例讲述了CI框架入门示例之数据库取数据完整实现方法.是写给初学者看的,这是最简单可以调通的例子.分享给大家供大家参考.具体实现方法如下: 1.下载CI框架 2.配置 database.php配置: 为数据库服务器设置 connection 参数: 复制代码 代码如下: $db['default']['hostname'] = "your-db-host";  $db['default']['username'] = "your-username";  $db[

随机推荐