Comment modifier les autorisations de php mkdir : 1. Créez un exemple de fichier PHP ; 2. Créez un fichier en lecture-écriture via le "mkdir('./xw/');chmod('./xw/',0777 );" méthode Le répertoire avec les autorisations est suffisant.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment changer les permissions de php mkdir
Problème de permission de la fonction mkdir() en php
Description du problème :
Utilisation Le code php suivant crée un répertoire. Les autorisations de répertoire attendues sont 0777. Le résultat réel est 0755
mkdir('./aa/',0777);
Résultats d'analyse et de test :
1. être uniquement inférieur ou égal aux autorisations par défaut définies par le système umask .
Par exemple, l'umask par défaut de Linux est généralement 0022, c'est-à-dire que l'autorisation par défaut pour créer un répertoire est 0755, donc à ce moment-là, php mkdir('./aa/',0777) obtient l'autorisation du répertoire pour être 0755.
xw@xw-X201:~/Desktop/dd/aa$ umask 0022 xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw/',0777);" xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0755);" xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0747);" xw@xw-X201:~/Desktop/dd/aa$ ll 总用量 20 drwxrwxrwx 5 xw xw 4096 2012-06-01 11:58 ./ drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../ drwxr-xr-x 2 xw xw 4096 2012-06-01 11:57 xw/ drwxr-xr-x 2 xw xw 4096 2012-06-01 11:58 xw1/ drwxr--r-x 2 xw xw 4096 2012-06-01 11:58 xw2/
Changez l'autorisation par défaut du système en 777, mkdir() peut spécifier des autorisations plus élevées
xw@xw-X201:~/Desktop/dd/aa$ umask 000 xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/',0777);" xw@xw-X201:~/Desktop/dd/aa$ ll 总用量 12 drwxrwxrwx 3 xw xw 4096 2012-06-01 12:08 ./ drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../ drwxrwxrwx 2 xw xw 4096 2012-06-01 12:08 xw2/
2.chmod() la fonction n'est pas affectée par l'umask du système et peut définir des autorisations supérieures aux autorisations par défaut du système.
xw@xw-X201:~/Desktop/dd/aa$ umask 0022 xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw1/',0777);" xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw2/');" xw@xw-X201:~/Desktop/dd/aa$ php -r "mkdir('./xw3/');chmod('./xw3/',0777);" xw@xw-X201:~/Desktop/dd/aa$ ll 总用量 20 drwxrwxrwx 5 xw xw 4096 2012-06-01 12:12 ./ drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../ drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw1/ drwxr-xr-x 2 xw xw 4096 2012-06-01 12:11 xw2/ drwxrwxrwx 2 xw xw 4096 2012-06-01 12:12 xw3/
3. La commande mkdir du système peut définir des autorisations supérieures à la valeur par défaut.
xw@xw-X201:~/Desktop/dd/aa$ umask 0022 xw@xw-X201:~/Desktop/dd/aa$ mkdir -m0777 xw xw@xw-X201:~/Desktop/dd/aa$ ll 总用量 12 drwxrwxrwx 3 xw xw 4096 2012-06-01 12:18 ./ drwxr-xr-x 6 xw xw 4096 2012-06-01 11:26 ../ drwxrwxrwx 2 xw xw 4096 2012-06-01 12:18 xw/
Résumé :
php Pour créer un répertoire avec des autorisations de lecture et d'écriture, il est préférable d'utiliser le code suivant. N'utilisez pas directement la fonction mkdir pour spécifier les autorisations afin d'éviter l'impact du système umask
mkdir('./xw/'); chmod('./xw/',0777);
Recommandé. apprentissage : "Tutoriel vidéo PHP》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!