Bakhtiyor
Bakhtiyor

Reputation: 7318

mkdir(folder_name) with 755 permission in php

I have my web application hosted in /var/www folder. I am creating a folder from one of the PHP scripts of the web application. The default permission of the created folder is drwx------, i.e. 700. But I want that folder to have at least 755 permission.

Up to now I tried: mkdir($path, 0755) and chmod($path, 0755) PHP functions but without any success.

Does anybody know how to solve my problem please?

Millions of thanks beforehand.

Upvotes: 3

Views: 4194

Answers (2)

YoGiN
YoGiN

Reputation: 127

Have you tried changing the umask ?

Have a look here: https://www.php.net/manual/en/function.umask.php

The easiest way it to:

$oldmask = umask(0);
chmod($path, 0755);
umask($oldmask)

Upvotes: 2

Saurabh Kumar
Saurabh Kumar

Reputation: 5955

Since you have default permission of 700, which means the parent directory (the directory in which you are trying to create the folder) do not have rw permission for group owner or other users. Most often the running demon(httpd) is not the owner of the parent folder and hence cannot modify the directory.

In simple terms, the php script do not have access to modify or add new directory. You need to change the permission of the parent folder to at least drwxrw-rw- (or 0755).

Use ssh, cpanel or ftp client to do this. If you do it using php script you will end with the same problem again, as parent of parent will have again 0700. ;)

Upvotes: 1

Related Questions