【已解决】一个有关mkdir()函数,奇葩的bug,

王小大

问题描述

当我在webman中执行如下代码时,实际创建目录会比我设定的目录少一级

mkdir("D:\www\webman\runtime\a1\b2\c3", 0777, true);

结果:D:\www\webman\runtime\a1\b2

使用php-cli执行代码创建正常:

php -r "mkdir('D:\www\webman\runtime\a1\b2\c3', 0777, true);"

结果:D:\www\webman\runtime\a1\b2\c3

操作系统环境及workerman/webman等具体版本

window 10
Webman-framework v1.5.2
通过 ./windows.bat 启动

563 4 0
4个回答

yongdao35

以我的经验,奇葩的bug往往是犯了很低级的错误导致的

Gin
mkdir("D:\www\webman\\runtime\a1\b2\c3", 0777, true);
ichynul

直接报错。
加上转义就正常:mkdir("D:\\www\\webman\\runtime\\a1\\b2\\c3", 0777, true);
单引号也正常:mkdir('D:\www\webman\runtime\a1\b2\c3', 0777, true);

\r被识别为换行了,确定你的代码能正常运行?
`

ikun

笑死我了 ^V^

年代过于久远,无法发表回答
🔝