2011-02-16 67 views
0
Warning: mkdir() [function.mkdir]: No such file or directory in 

尝试创建新目录时,我不断收到此令人讨厌的消息。我的职责是mkdir问题PHP

mkdir("../".$a."/".$b); 

$a = an existing filepath 
$b = new folder i wish to create 

功能是从另一个目录执行:我的结构是这样的:

/htroot/site/c/ <- where im executing the function 
/htroot/site/a/b <- where i wish to create the directories. 

如果我执行下面,创建预期的效果,但在相同的目录功能。

mkdir($a."/".$b); 

HI为热反应

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 
+0

这是从命令运行一个简单的PHP脚本提示?它是否包含在其他脚本中? – 2011-02-16 02:48:06

+1

您可以使用`dirname(__ FILE __)` – 2011-02-16 02:48:58

+0

尝试...现在检查脚本认为当前目录是什么。它在脚本文件中的一部分/ htroot/site/c检查dirname必须说的内容 – goingsideways 2011-02-16 02:52:09

回答

4

根据您的功能如何包含,PWD可能在任何地方。你最好使用绝对路径。

您也可以抢使用__DIR__(V5.3 +)或dirname(__FILE__)

例如当前脚本的目录

// use realpath to resolve any symbolic links 
$newDir = realpath(__DIR__ . '/../' . $a) . '/' . $b; 
mkdir($newDir); 

realpath()

2

无论"../$a"是,有没有这样的目录下的所有的感谢,但多少你希望这是。也许有一个符号链接,并且..不是您认为它的目录。