Babu
Babu

Reputation: 455

Php mkdir() is not creating a directory in my web directory

I can't make a new directory in my web server. I think my code is ok to create a directory. Can you tell me what is the error ?

$path = "https://wwww.domain.com/astuces/uploads/products/".$id;
if(!is_dir($path)){

    mkdir($path);   

    if(mkdir($path)){
        echo "mkdir is created successfully";   
    }else{
        echo "directory is not created";
        echo mysql_error();
    }
}

It's always showing me "directory is not created".

Upvotes: 0

Views: 994

Answers (2)

xdazz
xdazz

Reputation: 160833

This is not just a permission issue, you are doing impossible things.

$path = "https://wwww.domain.com/astuces/uploads/products/".$id;

You can never use a url as the path to create a directory in a server.

The path should be the path in your web server like:

$path = "/path/to/your/project/astuces/uploads/products/".$id;

And then make sure the apache user has the permission.

If the the parent directory also not exist at first, you have to set the third parameter to true of mkdir:

if(mkdir($path, 0755, true)){

Upvotes: 3

Diwakar upadhyay
Diwakar upadhyay

Reputation: 434

Try this code

$path = "https://wwww.domain.com/astuces/uploads/products/".$id; if(!is_dir($path)){

$old_umask = umask(0);
mkdir($path, true);  
chmod($path, 0777);
umask($old_umask); 

if(mkdir($path)){
    echo "mkdir is created successfully";   
}else{
    echo "directory is not created";
    echo mysql_error();
}

}

Upvotes: 0

Related Questions