有没有办法在PHP中创建一个与folder
具有相同权限的parent
。
例如:我有一个/a/b
文件夹与0755
权限,我想创建具有相同权限的文件夹a/b/c
。在这种情况下0755
。
据我所知,PHP默认使用0777
函数创建具有mkdir
权限的文件夹。是否有一种智能方法来检测父文件夹权限,然后使用相同的chmod创建该子文件夹?
编辑:这里我正在寻找一个解决方案,用qazxsw poi创建一个文件夹,而不是如何检索文件/文件夹权限。
@ArtisticPhoenix解决方案是我寻找的。
谢谢。
你可以尝试我刚刚擦掉的东西(未经测试)
mkdir
chmod($filename, substr(sprintf('%o', fileperms(dirname($filename))),-4));
http://php.net/manual/en/function.chmod.php
我认为其他功能是非常自我解释的,或基本的,他们不保证链接。 http://php.net/manual/en/function.fileperms.php当然是文件目录。
这个dirname($filename)
的东西来自文档页面:
示例#1将权限显示为八进制值
substr(sprintf('%o', fileperms(...)),-4)
这似乎是我们想要使用的东西,因为这就是 echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
想要的,但是如果需要或不需要它可能值得测试(也许它足够聪明地理解它)。我之前没有真正使用过chmod
。在大多数情况下,fileperms
就是我所需要的。
希望它有效。