CI学习,边学边记 - constants.php
本帖最后由 imwebmaster.net 于 2012-5-12 17:34 编辑CI版本:2.1.0
准备:将CodeIgniter包 重命名为ci ,并放在环境根目录下 , /ci 。
常量文件:/ci/application/config/constants.php
在 Common.php 全局函数中,is_really_writable() 所用到的常量就在这里。
define('FILE_READ_MODE', 0644);
define('FILE_WRITE_MODE', 0666);
define('DIR_READ_MODE', 0755);
define('DIR_WRITE_MODE', 0777);
LINUX文件即目录权限系统
没权限上传照片啊 晕啊 文件的权限是之于用户,用户所在组 ,其它用户的。假设文件 index.php的权限为 644 。
用户 用户所在组 其它用户
6 4 4
rw- r-- r--
r = 4w =2x =1
对于文件来说
r 可以读取文件实际内容,比如文本文件的文字内容
w可以编辑 新增,修改文件内容 ,不包含删除文件哦
x 该文件可被系统执行,在WINDOWS中,文件是否具备被执行能力,取决于它的扩展名 .exe .bat,但是在LINUX下
是否可执行更扩展名没关系
假设目录 cache 权限为 755
用户 用户所在组 其它用户
7 5 5
rwx r-x r-x
对于目录来说:
r 可以读取目录结构列表的权限,所以你可以LS 来查看 ,windows下是不是 dir?
w
可以创建文件和目录;
删除已经存在的文件和目录
重命名已存在的文件和目录
移动目录下的文件和目录位置
x
目录总不会拿来被执行吧?目录的X权限代表用户能否进入该目录成为工作目录的权限。linux 下的cd命令。
你是否还记得/ci/index.php 中的这段代码,如果该d目录dirname(__FILE__) 没有x权限的话,不能切换成功的哦
if (defined('STDIN'))
{
chdir(dirname(__FILE__));
}
要点:对一个文件是否有删除的权限 取决于对其所在目录是否有写的权限。
用户管理以及文件权限是一个很大的话题,小弟的能力有限,只能做以上的阐述了。
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基础
FOPEN 打开文件的模式
模式 可读?可写? 文件指针 截断?创建?
r Y N 开始 N N
r+ Y N 开始 N N
w N Y 开始 Y Y
w+ Y Y 开始 Y Y
a N Y 结尾 N Y
a+ Y Y 结尾 N Y
x N Y开始 Y
x+ Y Y开始 Y
r = read, w = write , a = append , x= ?谁告诉我一下 是不是extend ?
在非POSIX 系统中, 如WIN, 在打开二进制文件时,需要在模式中添加一个b = binary ,因此总是加个b,保证代码在Unix和Windows 中都能运行。(POSIX= 可移植系统接口 FOR UNIX。)
$fh = fopen('$filename', $mode)模式作为FOPEN的第二个参数,决定了FOPEN的行为.
页:
[1]