在 linux 系统中在创建 文件/文件夹 时有一个默认权限,此权限受 umask 设置影响,linux 系统中默认的 umask 为 022,与 777 & 运算之后,就变成了 755。
如上图所示,Linux三种文件类型:
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等,使用“-”标识。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构,使用“d”标识。
设备文件: Linux系统把每一个设备都看成是一个文件
修改文件权限的命令常用的是:chown,chmod。chown:修改用户的所属用户和所属组,chmod修改文件的权限,两个命令具体使用可以自行百度。
所以在使用PHP创建文件夹并写入文件,首先先创建文件夹并且赋予其权限,在进行文件写入(注意在创建文件夹前需要用函数is_dir()判断文件夹是否存在)。具体使用函数:
mkdir($path,0777,true);
第一个参数:必须,代表要创建的多级目录的路径;
第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;
第三个参数:true表示允许创建多级目录。
如果还是报权限错误,permission denied,可以在尝试将执行的php文件所在目录赋予权限。希望可以帮到大家,谢谢。