今天发现自己mkdir创建的文件夹只有411权限,
mkdir($path,777)
疑惑中,百度了一下,这里的权限应该写成0777而不是777,原因是权限值最好使用八进制表示,即“0”开头,而且一定不要加引号。至于为什么八进制的开头一位要加0,因为c语言就是这么规定的,规范和好看,这个不用纠结,但是为什么777会变成411呢?因为如果你不加0,系统就会认为你输入的是一个10进制的数777,而八进制表示10进制的777就是1411,然后由于权限的是看后面几个位的表示,所以显示的时候就是411了
0777(八进制)==二进制0b 111 111 111 ==权限rwxrwxrwx (==十进制511)
777(十进制)==二进制0b 1 100 001 001==权限sr----x--x(==八进制1411)
如果你用了mkdir($path,0777)结果建出来的文件夹权限还不是777,这个时候你就需要用chmod函数去改权限了
chmod($path,0777)
这样就行了。