PHP的mkdir函数在Windows上出现问题

Cod*_*opr 7 php mkdir

我正在使用PHP的命令行程序,我遇到了麻烦,我的第一个问题是当我调用PHP时mkdir()它给了我这个错误

Warning: mkdir(): No such file or directory in 
E:\Server\_ImageOptimize\OptimizeImage.php
on line 196
Run Code Online (Sandbox Code Playgroud)

然后我在PHP文档中读到一个用户注释,该注释表示正斜杠/在Windows下但在Unix上不适用于此方法.

所以我然后更改了我的代码将它们更改为反斜杠,但它没有改变我的任何东西,我仍然在同一行上得到相同的错误.

以下代码可以帮助我解决这个问题

// I tried both of these below
$tmp_path = '\tmp\e0bf7d6';
//$tmp_path = '/tmp/e0bf7d6';

echo $tmp_path;

mkdir($tmp_path);
Run Code Online (Sandbox Code Playgroud)

mar*_*rio 10

实际问题是mkdir() 每次调用只创建一个子目录,但是你传递了两个不存在的目录的路径.您通常必须一步一步地执行此操作:

mkdir("/tmp");
mkdir("/tmp/e0b093u209");
mkdir("/tmp/e0b093u209/thirddir");
Run Code Online (Sandbox Code Playgroud)

或者使用第三个参数快捷方式:

mkdir("/tmp/e0b093u209", 0777, TRUE);
Run Code Online (Sandbox Code Playgroud)