本篇文章给大家分享的是有关PHP项目中mkdir()无写权限如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
PHP有什么用
PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。
<强> umask是什么? 强>
我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。
umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile, $ HOME/ash_profile或$ HOME/8乓募猩柚胾mask值。
<>强如何计算umask值吗? 强>
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主,同组用户,其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7 .
该命令的一般形式为:umask nnn,其中nnn可为000 - 777。
我们只要记住umask是从权限中“拿”走相应的位即可。
如:umask值为022,则默认目录权限为755年,默认文件权限为644。
所以,如果用户umask是022(一般默认是这个),即:000 010 010在于mkdir指定的777年,即:111 111 111位”与“后得到的真实权限为:022 .
如果想让新建文件夹权限最大,有两种方法可以实现:(当然,是在当前用户能赋予最高权限的条件下)
1,修改用户umask, php提供有umask函数:
代码如下:
oldumask美元=umask (0);
mkdir(& # 39;测试# 39;,0777);
umask ($ oldumask);
这种方法看起来一劳永逸,在脚本开头文件里指定下umask值,后面直接用mkdir就可以控制权限,需要注意的是:在多线程服务器上使用umask函数时,多个线程会公用一个umask,所以可能会造成混乱。
2,使用chmod函数,这也是最常用的方法:
代码如下:
mkdir(& # 39;文件地址& # 39;,0777);
chmod(& # 39;文件地址& # 39;,0777年)。
以上就是PHP项目中mkdir()无写权限如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。