mkdir() says theres no such directory and fails?

rpsep2 picture rpsep2 · Feb 21, 2013 · Viewed 79.1k times · Source

Im likely doing something very simply wrong, but when I try to make a directory (using a variable of an insert just performed as the last folder name), I get the error:

Warning: mkdir() [function.mkdir]: No such file or directory in /home/blah/blah

with the code:

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

of course the directory doesn't exist.. I'm trying to make it now? confused!

Answer

zerkms picture zerkms · Feb 21, 2013

It happens because you don't have images/listing-images/rent path existing in your filesystem.

If you want to create the whole path - just pass the 3rd argument as a true:

mkdir('images/listing-images/rent/'.$insertID, 0777, true);

There is also a chance you're in a wrong directory currently. If this is the case - you need to change the current dir with chdir() or specify the full path.