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



我有一个问题,当我尝试从 Laravel 中的 .env 文件加载权限字符串,然后当我尝试将其用作文件模式 ar mkdir g 的 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来说相对较新,但我想这一定是相对常见的情况。

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

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

最新更新