mkdir()说没有这样的目录而失败了吗?

rps*_*ep2 35 php upload mkdir

我可能做了一些非常简单的错误,但是当我尝试创建一个目录(使用插入的变量作为最后一个文件夹名称执行)时,我收到错误:

警告:mkdir()[function.mkdir]:/ home/blah/blah中没有这样的文件或目录

用代码:

if (!is_dir("images/listing-images/rent/'.$insertID.")) {
        //make new directory with unique id
   mkdir("images/listing-images/rent/'.$insertID."); 
}
Run Code Online (Sandbox Code Playgroud)

当然目录不存在..我正在尝试现在制作它?困惑!

zer*_*kms 94

这是因为您images/listing-images/rent的文件系统中没有路径.

如果你想创建整个路径 - 只需将第三个参数作为true:

mkdir('images/listing-images/rent/'.$insertID, 0777, true);
Run Code Online (Sandbox Code Playgroud)

你当前也有可能在错误的目录中.如果是这种情况 - 您需要更改当前目录chdir()或指定完整路径.


ada*_*son 13

假设您使用的是PHP> 5.0.0,请尝试mkdir("path", 0777, true);以递归方式启用创建目录(请参阅此处:http://php.net/manual/en/function.mkdir.php).


Joh*_*nde 6

您的字符串中有错误:

mkdir("images/listing-images/rent/'.$insertID.");
Run Code Online (Sandbox Code Playgroud)

应该:

mkdir("images/listing-images/rent/$insertID");
Run Code Online (Sandbox Code Playgroud)

  • 我确定他的错误并非由此引起,而是由于缺少`images/listing-images/rent` (2认同)
  • 那么你的最终答案是什么?代码中没有**语法**错误.字符串在语法上是正确的(虽然没有意义).正如你所说 - 这应该是一个评论:-) (2认同)