PHP - mkdir:创建一个与其父级具有相同权限的文件夹

问题描述 投票:0回答:1

有没有办法在PHP中创建一个与folder具有相同权限的parent

例如:我有一个/a/b文件夹与0755权限,我想创建具有相同权限的文件夹a/b/c。在这种情况下0755

据我所知,PHP默认使用0777函数创建具有mkdir权限的文件夹。是否有一种智能方法来检测父文件夹权限,然后使用相同的chmod创建该子文件夹?

编辑:这里我正在寻找一个解决方案,用qazxsw poi创建一个文件夹,而不是如何检索文件/文件夹权限。

@ArtisticPhoenix解决方案是我寻找的。

谢谢。

php permissions chmod mkdir
1个回答
2
投票

你可以尝试我刚刚擦掉的东西(未经测试)

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就是我所需要的。

希望它有效。

© www.soinside.com 2019 - 2024. All rights reserved.