|
本帖最后由 imwebmaster.net 于 2012-5-12 17:34 编辑
CI版本:2.1.0
准备:将CodeIgniter包 重命名为ci ,并放在环境根目录下 , /ci 。
常量文件:/ci/application/config/constants.php
在 Common.php 全局函数中,is_really_writable() 所用到的常量就在这里。
PHP复制代码
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 = 4 w =2 x =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权限的话,不能切换成功的哦
要点:对一个文件是否有删除的权限 取决于对其所在目录是否有写的权限。
用户管理以及文件权限是一个很大的话题,小弟的能力有限,只能做以上的阐述了。
PHP复制代码
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的行为.
|
评分
-
查看全部评分
|