Php mkdir问题
当我试图创建新目录时,我总是收到这个恼人的消息。我的职能是Php mkdir问题,php,mkdir,Php,Mkdir,当我试图创建新目录时,我总是收到这个恼人的消息。我的职能是 Warning: mkdir() [function.mkdir]: No such file or directory in 函数从另一个目录执行:我的结构如下所示: mkdir("../".$a."/".$b); $a = an existing filepath $b = new folder i wish to create 大家好,谢谢大家的热烈回应 mkdir($a."/".$b); 无论“./$a”是什么,都没有这
Warning: mkdir() [function.mkdir]: No such file or directory in
函数从另一个目录执行:我的结构如下所示:
mkdir("../".$a."/".$b);
$a = an existing filepath
$b = new folder i wish to create
大家好,谢谢大家的热烈回应
mkdir($a."/".$b);
无论
“./$a”
是什么,都没有这样的目录,不管您希望有多少。可能有一个符号链接,。
不是你认为它是的目录。不管。/$a“
是什么,都没有这样的目录,不管你希望有多少。可能有一个符号链接,。
不是您认为的目录。根据您的函数包含方式,PWD可能在任何地方。最好使用绝对路径
您还可以使用\uuuu DIR\uuuu
(v5.3+)或dirname(\uuuu FILE\uuuu)
比如说
C:\wamp\www\book\admin\import //is my __DIR__ for that script
C:\wamp\www\book\admin\property // already exists
C:\wamp\www\book\admin\property\name // want i want end result
请参见根据功能的包含方式,PWD可以在任何位置。最好使用绝对路径 您还可以使用
\uuuu DIR\uuuu
(v5.3+)或dirname(\uuuu FILE\uuuu)
比如说
C:\wamp\www\book\admin\import //is my __DIR__ for that script
C:\wamp\www\book\admin\property // already exists
C:\wamp\www\book\admin\property\name // want i want end result
请参见ok cool。父文件夹的路径是否为../正确?所以b=../好的,很酷。父文件夹的路径是否为../正确?那么b=../这是从命令提示符运行的普通PHP脚本吗?它是否包含在其他脚本中?您可以使用
dirname(\uu\u FILE\uu)
trying…立即检查脚本认为当前目录是什么。它是/htroot/site/c文件中脚本的一部分,用于检查dirname要说什么如果您使用的是PHP5.3,\uuuuuuu DIR\uuuuu
是quickerI,我在我的答案中添加了一个示例,其中包括@hobbs答案中提出的一个要点(重符号链接),这是从命令提示符运行的普通PHP脚本吗?它是否包含在其他脚本中?您可以使用dirname(\uu\u FILE\uu)
trying…立即检查脚本认为当前目录是什么。它是/htroot/site/c文件中脚本的一部分,用于检查dirname必须说什么如果您使用的是PHP5.3,\uuuuuuu DIR\uuuuuu
是quickerI。我在我的答案中添加了一个示例,其中包括@hobbs答案(重符号链接)Oops中提出的一个要点,再次对其进行了更改。记得在某些环境中看到realpath在不存在的路径上失败,因此从函数中删除了$b
call@Phil真棒的回答者。我目前正试图实现你的答案。但是,我回显$newDir来检查它的值,它显示的是c:\wamp\book\admin\property/name@claw那很好。PHP可以在Windows中互换使用正斜杠或反斜杠。如果您想彻底了解,请使用DIRECTORY\u SEPARATOR
代替任何斜杠。或者你指的是你问题中提到的缺失的“www”?@Phil sweet。使用目录分隔符。仍然收到警告:mkdir()[function.mkdir]:没有这样的文件或目录。请原谅我的无知,如果目录不存在,为什么PHP不直接创建它呢?@claw是的,你能澄清一下正确的路径应该是什么吗C:\wamp\book\…
或者应该是C:\wamp\www\book\…
Oops,再次更改它。记得在某些环境中看到realpath在不存在的路径上失败,因此从函数中删除了$b
call@Phil真棒的回答者。我目前正试图实现你的答案。但是,我回显$newDir来检查它的值,它显示的是c:\wamp\book\admin\property/name@claw那很好。PHP可以在Windows中互换使用正斜杠或反斜杠。如果您想彻底了解,请使用DIRECTORY\u SEPARATOR
代替任何斜杠。或者你指的是你问题中提到的缺失的“www”?@Phil sweet。使用目录分隔符。仍然收到警告:mkdir()[function.mkdir]:没有这样的文件或目录。请原谅我的无知,如果目录不存在,为什么PHP不直接创建它呢?@claw是的,你能澄清一下正确的路径应该是什么吗C:\wamp\book\…
还是应该是C:\wamp\www\book\…
// use realpath to resolve any symbolic links
$newDir = realpath(__DIR__ . '/../' . $a) . '/' . $b;
mkdir($newDir);