Home > Article > Backend Development > How to set directory permissions in php?
How to set directory permissions in php: 1. Use the mkdir (function to set the permissions of the directory when creating the directory, syntax "mkdir (name of directory, permissions)"; 2. Use the chmod() function to change the specified directory Permissions, syntax "chmod (name of file/directory, permissions)".
Recommended: "PHP Video Tutorial"
php method to set directory permissions:
Method 1: Use the mkdir() function to specify permissions when creating a directory
Syntax:
mkdir(path,mode)
Example:
<?php mkdir('test',0777); ?>
Note: The mode parameter is ignored on Windows platforms. Since PHP 4.2. Becomes optional starting from 0.
Method 2: Use the chmod() function to set directory permissions
chmod() function changes the permissions of the specified file.
Returns TRUE if successful, FALSE if failed.
Syntax
chmod(file,mode)
Example:
<?php // 所有者可读写,其他人没有任何权限 chmod("test.txt",0600); // 所有者可读写,其他人可读 chmod("test.txt",0644); // 所有者有所有权限,其他所有人可读和执行 chmod("test.txt",0755); // 所有者有所有权限,所有者所在的组可读 chmod("test.txt",0740); //允许全局访问 chmod('./xw/',0777); ?>
Notes on using chmod() in PHP
Due to a strange situation encountered on a certain virtual host, the image upload function is enabled, but after the image is uploaded, the permissions are 600 , and the owner is Apache user, so when you want to do a local backup, the uploaded images cannot be backed up.
In this situation, we have to write a program to let Apache user do the chmod action and change the permissions of the image files. It must be 644.
Modify the permissions of all files in the directory
To change all the files in the directory to 644, the method to change all permissions is very simple. The program is as follows: (Assume the file name is chmod.php)
<?php `chmod 644 *`; ?>
In this way, the permissions of the uploaded abc.jpg can be changed to 644 permissions.
chmod notes
The above is the correct way to write it, please pay attention Yes, the following are wrong ways of writing: (the annotation is the result of permissions)
chmod($filename, '644'); // --w----r-T chmod($filename, '0644'); // --w----r-T chmod($filename, 644); // --w----r-T chmod($filename, 'u+rwx,go+rx'); // --------- (000) chmod($filename, 'a+x'); // --w----r-T
Official website description: bool chmod (string $filename, int $mode)
The second parameter of int $mode, this column must be a number, and it must be an octal number, otherwise it will be the result of the above annotation.
The octal number is easy to remember here, it is the original decimal command, as shown above Just add a 0. The following are correct examples:
chmod($filename, 0644); // -wr--r--r chmod($filename, 0755); // -wr-wr-wr
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of How to set directory permissions in php?. For more information, please follow other related articles on the PHP Chinese website!