Home  >  Article  >  Backend Development  >  How to set directory permissions in php?

How to set directory permissions in php?

青灯夜游
青灯夜游Original
2020-11-03 14:13:313761browse

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)".

How to set directory permissions in php?

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)

How to set directory permissions in php?

Example:

<?php
mkdir(&#39;test&#39;,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)

How to set directory permissions in php?

Example:

<?php
// 所有者可读写,其他人没有任何权限
chmod("test.txt",0600);
// 所有者可读写,其他人可读
chmod("test.txt",0644);
// 所有者有所有权限,其他所有人可读和执行
chmod("test.txt",0755);
// 所有者有所有权限,所有者所在的组可读
chmod("test.txt",0740);
//允许全局访问
chmod(&#39;./xw/&#39;,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, &#39;644&#39;); // --w----r-T
chmod($filename, &#39;0644&#39;); // --w----r-T
chmod($filename, 644); // --w----r-T
chmod($filename, &#39;u+rwx,go+rx&#39;); // --------- (000)
chmod($filename, &#39;a+x&#39;); // --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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn