Maison > développement back-end > tutoriel php > Fonction php chmod() et modification par lots des autorisations du répertoire de fichiers

Fonction php chmod() et modification par lots des autorisations du répertoire de fichiers

怪我咯
Libérer: 2023-03-13 12:52:02
original
6827 Les gens l'ont consulté

La fonction chmod() change le mode du fichier. chmod — Change le mode fichier. Renvoie TRUE en cas de succès, FALSE sinon.

Syntaxe

chmod(file,mode)
Copier après la connexion


Paramètres< /th>Description
fichierObligatoire. Spécifie les documents à vérifier.
mode
参数描述
file必需。规定要检查的文件。
mode

可选。规定新的权限。

mode 参数由 4 个数字组成:

  • 第一个数字永远是 0

  • 第二个数字规定所有者的权限

  • 第二个数字规定所有者所属的用户组的权限

  • 第四个数字规定其他所有人的权限

可能的值(如需设置多个权限,请对下面的数字进行总计):

  • 1 - 执行权限

  • 2 - 写权限

  • 4 - 读权限

Facultatif. Spécifiez de nouvelles autorisations.


Le paramètre mode est composé de 4 nombres :

  • Le premier chiffre est toujours 0

  • < li>Le deuxième numéro spécifie les autorisations du propriétaire

  • <?php 
    chmod("/somedir/somefile", 755); // 十进制数,可能不对 
    chmod("/somedir/somefile", "u+rwx,go+rx"); // 字符串,不对 
    chmod("/somedir/somefile", 0755); // 八进制数,正确的 mode 值 
    ?>
    Copier après la connexion
    Le deuxième numéro spécifie les autorisations du groupe d'utilisateurs auquel appartient le propriétaire

  • < li >Le quatrième chiffre spécifie les autorisations pour tout le monde

Valeurs possibles (pour définir plusieurs autorisations, totalisez les nombres ci-dessous) :

  • 1 - Autorisation d'exécution

  • <?php 
    function chmodr($path, $filemode) { 
    if (!is_dir($path)) 
    return chmod($path, $filemode); 
    $dh = opendir($path); 
    while (($file = readdir($dh)) !== false) { 
    if($file != &#39;.&#39; && $file != &#39;..&#39;) { 
    $fullpath = $path.&#39;/&#39;.$file; 
    if(is_link($fullpath)) 
    return FALSE; 
    elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode)) 
    return FALSE; 
    elseif(!chmodr($fullpath, $filemode)) 
    return FALSE; 
    } 
    } 
    closedir($dh); 
    if(chmod($path, $filemode)) 
    return TRUE; 
    else 
    return FALSE; 
    } 
    ?>
    Copier après la connexion
    2 - Autorisation d'écriture


  • 4 - Autorisation de lecture

<?php 
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST); 
foreach($iterator as $item) { 
chmod($item, $filemode); 
} 
?>
Copier après la connexion


Le code est le suivant suit :

Mode fichier récursif amélioré @infosoft...., c'est un petit court qui devrait gérer tous les types de fichiers du système de fichiers Linux. Cela peut modifier par lots les autorisations des fichiers ou des répertoires Le code est le suivant : Si vous avez trop de répertoires, vous pouvez utiliser Le code est le suivant : Ce code permet de modifier les permissions du répertoire

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal