php的mkdir()函数创建文件夹比较安全的权限设置方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-03-25 10:31:47 浏览: 评论:0
这篇文章主要介绍了php的mkdir()函数创建文件夹比较安全的权限设置方法,遇到的情况是系统umask影响了mkdir的指定权限参数比期望要小,使用chmod函数则没有这个问题,需要的朋友可以参考下
问题描述:
使用以下php代码创建了一个目录,期望目录的权限是0777,实际结果是0755
代码如下:
mkdir('./aa/',0777);
分析与测试结果:
1.mkdir()函数指定的目录权限只能小于等于系统umask设定的默认权限。
如linux默认的umask一般0022, 即创建目录的默认权限是0755, 所以这时php mkdir('./aa/',0777) 得到目录的权限是0755.
代码如下:
- xw@xw-X201:~/Desktop/dd/aa$ umask
- 0022
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw/',0777);"
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0755);"
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0747);"
- xw@xw-X201:~/Desktop/dd/aa$ ll
- 总用量 20
- drwxrwxrwx 5 xw xw 4096 2012-06-01 11:58 ./
- drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
- drwxr-xr-x 2 xw xw 4096 2012-06-01 11:57 xw/
- drwxr-xr-x 2 xw xw 4096 2012-06-01 11:58 xw1/
- drwxr--r-x 2 xw xw 4096 2012-06-01 11:58 xw2/
把系统默认权限改为777,mkdir()可以指定更大权限了
代码如下:
- xw@xw-X201:~/Desktop/dd/aa$ umask 000
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0777);"
- xw@xw-X201:~/Desktop/dd/aa$ ll
- 总用量 12
- drwxrwxrwx 3 xw xw 4096 2012-06-01 12:08 ./
- drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
- drwxrwxrwx 2 xw xw 4096 2012-06-01 12:08 xw2/
2.chmod()函数不受系统umask影响,可以设置比系统默认权限大的权限。
代码如下:
- xw@xw-X201:~/Desktop/dd/aa$ umask
- 0022
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0777);"
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/');"
- xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw3/');chmod('./xw3/',0777);"
- xw@xw-X201:~/Desktop/dd/aa$ ll
- 总用量 20
- drwxrwxrwx 5 xw xw 4096 2012-06-01 12:12 ./
- drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
- drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw1/
- drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw2/
- drwxrwxrwx 2 xw xw 4096 2012-06-01 12:12 xw3/
3.系统的mkdir命令可以设置大于默认值的权限。
代码如下:
- xw@xw-X201:~/Desktop/dd/aa$ umask
- 0022
- xw@xw-X201:~/Desktop/dd/aa$ mkdir -m0777 xw
- xw@xw-X201:~/Desktop/dd/aa$ ll
- 总用量 12
- drwxrwxrwx 3 xw xw 4096 2012-06-01 12:18 ./
- drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../
- drwxrwxrwx 2 xw xw 4096 2012-06-01 12:18 xw/
总结:
php若要创建一个有读写权限的目录,最好使用以下代码,不要直接使用mkdir函数指定权限,以避免系统umask的影响,代码如下:
mkdir('./xw/');
chmod('./xw/',0777);
Tags: php创建文件夹 mkdir
- 上一篇:php递归删除目录下的文件但保留的实例分享
- 下一篇:php实现读取超大文件的方法
相关文章
- ·PHP创建/删除/复制文件夹、文件(2019-08-12)
- ·php中mkdir函数递归创建目录(文件夹)(2014-01-10)
- ·php mkdir 创建多级目录实例代码(2014-07-02)
- ·php中Rmdir、Mkdir、unlink(目录删除,创建)用法(2014-07-29)
- ·PHP使用mkdir创建多级目录的方法(2021-06-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)