CI框架源码阅读,系统常量文件constants.php的配置_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 */ 

时间: 2024-11-05 03:12:35

CI框架源码阅读,系统常量文件constants.php的配置_php技巧的相关文章

CI框架源码阅读笔记2 一切的入口 index.php

上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1. 设置应用程序环境 define("ENVIRONMENT", "development"); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch

CI框架源码阅读笔记5 基准测试 BenchMark.php

由于BenchMark是CI中第一个加载的core组件,因此我们的分析首先从该组件开始.BenchMark的含义非常明确,使用过BenchMark工具的同学应该比较清楚,这是一个基准组件.既然是BenchMark,我们便可大胆猜想,BM组件的主要功能就是记录程序的运行时间.内存使用.cpu使用等情况.     这个组件结构较简单,只有一个marker内部变量和三个对外的接口:   1 Elapsed_time 2 Mark 3 Memory_usage 下面一个个展开来看:   1. mark

CI框架源码解读之利用Hook.php文件完成功能扩展的方法_php实例

本文实例讲述了CI框架源码解读之利用Hook.php文件完成功能扩展的方法.分享给大家供大家参考,具体如下: 看了hook.php的源码,就知道CI使用hook来进行扩展的原理了. hook的基本知识 http://codeigniter.org.cn/user_guide/general/hooks.html CI中hook的使用经历了一个:开启hook,定义hook,调用hook,执行hook的过程. 手册中已经告知了开启.定义.调用的方法.那么hook的实现原理是啥呢. <?php if

PHP yii框架源码阅读(二) 整体执行流程分析

一 程序入口 <?php // change the following paths if necessary $yii=dirname(__FILE__).'/http://www.cnblogs.com/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following line when in production mode // defined('YII_D

PHP yii框架源码阅读(一) 目录文件分析

目录文件 |-framework     框架核心库 |--base         底层类库文件夹,包 含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),CComponent(组件类,该 文件包含了基于组件和事件驱动编程的基础类,从版本1.1.0开始,一个行为的属性(或者它的公共成员变量或它通过getter和/或setter方 法??定义的属性)可以通过组件的访问来调用),CBehavior(行为类,主要负责声明事件和相应事件处理程

CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析_php实例

本文实例讲述了CI框架URI.php中_fetch_uri_string()函数用法.分享给大家供大家参考,具体如下: APPPATH/config/config.php中对于url 格式的拟定. $config['uri_protocol'] = 'AUTO'; 这个配置项目定义了你使用哪个服务器全局变量来拟定URL. 默认的设置是auto,会把下列四个方式轮询一遍.当你的链接不能工作的时候,试着用用auto外的选项. 'AUTO'            Default - auto dete

php源码分析之DZX1.5随机数函数random用法_php技巧

本文实例讲述了php源码分析之DZX1.5随机数函数random用法.分享给大家供大家参考.具体如下: <?php /** * @param int $length: 随机数长度 * @param int $numeric: 0或非0,其中0表示随机数由全数字组成,非0表示随机数由全字母组成 * @return string: 返回生成的随机数 */ function random($length, $numeric = 0) { $seed = base_convert(md5(microti

CI框架中通过hook的方式实现简单的权限控制_php技巧

根据自己的实际情况,需要两个文件,一个是权限控制类,Acl,另外一个是权限配置的文件acl.php放在了config这个目录下. Acl这个类放在了application/hook/acl.php.通过application/config/config.php文件开启hook,并且配置config这个目录下的hook.php文件. 1.开启hook功能,config.php这个文件 复制代码 代码如下: /* |------------------------------------------

Velocity源码阅读

Velocity 是一个基于Java的模板引擎.它高效.简洁,且有很好的可扩展性,适合在Web项目中做为MVC模型中的视图,也可以在内容生成.数据转换等应用中独立使用.本文将以源码阅读的方式,浅析velocity的实现机制,并通过几个小例子来阐述velocity中主要使用的技术点. 1.下载源码 Velocity是Apache的顶级项目.可以从 http://velocity.apache.org/ 上获取最新源码,最新版本是1.7.为了契合日常的工作,这里使用1.6.3版本做为本文基准版本,可