从.env变量向PHP的mkdir添加八进制位

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

我有一个问题,当我尝试从Laravel中的.env文件加载一个权限字符串然后当我尝试在mkdir中将它用作文件模式arg的int时,它会删除八进制位0,结果是mkdir电话搞砸了:

mkdir($this->bakDir, 0755);

工作良好。

echo(\Config::get('app.dbBackupDirPerms')); echo(intval(\Config::get('app.dbBackupDirPerms')));

mkdir($this->bakDir, intval(\Config::get('app.dbBackupDirPerms')));

0755

755

创建目录但权限不正确

\Config::get('app.dbBackupDirPerms');作为一个字符串传递也不起作用,我认为它不会被mkdir检查

不管怎么说,我在这里错过了一些东西吗?相对较新的PHP,但我想这必定是一个相对常见的事件。

php laravel-5.3
1个回答
1
投票

你需要将你的int转换为八进制

mkdir($this->bakDir, intval(\Config::get('app.dbBackupDirPerms'), 8 )); 
© www.soinside.com 2019 - 2024. All rights reserved.