PHP mkdir($ recursive = true)跳过最后一个目录

NDM*_*NDM 12 php filesystems recursion path mkdir

我在PHP 5.2.4(没有safe_mode)linux服务器上有以下代码:

mkdir( $path, 0777, true );
Run Code Online (Sandbox Code Playgroud)

当我输入如下路径:

'/path/to/create/recur/ively/'
Run Code Online (Sandbox Code Playgroud)

创建所有目录,除了最后一个...当我添加另一个目录,如:

'/path/to/create/recur/ively/more/'
Run Code Online (Sandbox Code Playgroud)

再次,所有路径都创建,除了最后一个...

尝试使用和不使用尾部斜杠

请问任何人在这里开心吗?

NDM*_*NDM 13

好的解决方案如下:没有问题.

我没有单独测试代码,但只假设以下代码没有对目录结构做任何事情......

因为我发现该目录后来被代码本身删除了.

无论如何,课程学到了......


And*_*ann 8

尝试从路径中删除尾部斜杠.

至少这是它在mkdir文档示例中的使用方式.

我个人不记得有问题,但我通常不附加尾随斜杠,所以去尝试一下.

更新:

我刚尝试了你的代码,它创建了包括最后一个目录的每个目录.我正在运行Mac OS X 10.5.不知道为什么它不适合你:-(

这是我使用的代码:

<?php
$path = '/Users/andre/test/bla/foo';
mkdir( $path, 0777, true );
Run Code Online (Sandbox Code Playgroud)

对不起,好像我在这里没有帮助.