从 .env 变量向 PHP 的 mkdir 添加八进制位
Adding octal bit to PHP's mkdir from .env variable
我有一个问题,当我尝试从 Laravel 中的 .env 文件加载权限字符串,然后当我尝试将它用作 [=11= 中的文件模式 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
Creates the directory but with the incorrect permissions
将 \Config::get('app.dbBackupDirPerms');
作为字符串传递也没有出乎我的意料,我认为它不会被 mkdir
类型检查
这附近有什么东西吗,我是不是漏掉了什么? PHP 相对较新,但我想这一定是比较常见的事情。
您需要将整数转换为八进制
mkdir($this->bakDir, intval(\Config::get('app.dbBackupDirPerms'), 8 ));
我有一个问题,当我尝试从 Laravel 中的 .env 文件加载权限字符串,然后当我尝试将它用作 [=11= 中的文件模式 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
Creates the directory but with the incorrect permissions
将 \Config::get('app.dbBackupDirPerms');
作为字符串传递也没有出乎我的意料,我认为它不会被 mkdir
这附近有什么东西吗,我是不是漏掉了什么? PHP 相对较新,但我想这一定是比较常见的事情。
您需要将整数转换为八进制
mkdir($this->bakDir, intval(\Config::get('app.dbBackupDirPerms'), 8 ));