<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du code n'a rien à voir avec le contenu de l'article,Commencer comme exemple seulement</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lirePHPTutoriel de contrôle de l'autorisation de fichier。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
Titre d'article:passerPHPdeumask函数怎么控制新建documentde默认权限?Exemple description
*/</span>
</span><span><span class="hljs-comment">// PHP中deumask函数用于installation进程dedocument权限掩码,从而控制新建document或目录de默认权限。</span></span><span>
</span><span><span class="hljs-comment">// Par défaut,Linux系统对新建documentde权限一般是0666(rw-rw-rw-),Le nouveau répertoire est0777(rwxrwxrwx)。</span></span><span>
</span><span><span class="hljs-comment">// umask函数passer屏蔽权限位,限制新建document或目录de权限。</span></span><span>
</span><span><span class="hljs-comment">// Par exemple,umask(0022)Indique le blocage0022对应de权限,即屏蔽组和其他用户de写权限。</span></span><span>
</span><span><span class="hljs-comment">// 新建documentde默认权限将是 0666 & ~0022 = 0644 (rw-r--r--)</span></span><span>
</span><span><span class="hljs-comment">// 新建目录de默认权限将是 0777 & ~0022 = 0755 (rwxr-xr-x)</span></span><span>
</span><span><span class="hljs-comment">// Exemple description:</span></span><span>
</span><span><span class="hljs-comment">// installationumaskvaleur</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0022</span></span><span>);
</span><span><span class="hljs-comment">// Créer un fichier</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'testfile.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"Ceci est un fichier de test。"</span></span><span>);
</span><span><span class="hljs-comment">// Vérifier les autorisations de fichier</span></span><span>
</span><span><span class="hljs-variable">$perms</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fileperms</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>) & </span><span><span class="hljs-number">0777</span></span><span>; </span><span><span class="hljs-comment">// Seuls les bits d'autorisation</span></span><span>
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"document %s de权限是: %o\n"</span></span><span>, </span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$perms</span></span><span>);
<span class="hljs-comment">/*
Le résultat de l'exécution est généralement:
document testfile.txt de权限是: 644
这表明新建documentde权限是rw-r--r--,C'est-à-dire que le propriétaire peut lire et écrire,Les utilisateurs du groupe et les autres utilisateurs lisent uniquement。
*/</span>
</span><span><span class="hljs-comment">// Si vous souhaitez modifier les autorisations par défaut,Peut être changéumaskvaleur,Par exemple:</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0000</span></span><span>); </span><span><span class="hljs-comment">// Aucune autorisation bloquée</span></span><span>
</span><span><span class="hljs-comment">// 创建另一个document</span></span><span>
</span><span><span class="hljs-variable">$file2</span></span><span> = </span><span><span class="hljs-string">'testfile2.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file2</span></span><span>, </span><span><span class="hljs-string">"权限更宽松de测试document。"</span></span><span>);
</span><span><span class="hljs-comment">// 检查新document权限</span></span><span>
</span><span><span class="hljs-variable">$perms2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fileperms</span></span><span>(</span><span><span class="hljs-variable">$file2</span></span><span>) & </span><span><span class="hljs-number">0777</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"document %s de权限是: %o\n"</span></span><span>, </span><span><span class="hljs-variable">$file2</span></span><span>, </span><span><span class="hljs-variable">$perms2</span></span><span>);
<span class="hljs-comment">/*
Pour le moment, les autorisations sont généralement666 (rw-rw-rw-),C'est-à-dire que tous les utilisateurs ont lu et écrit des autorisations。
*/</span>
</span><span><span class="hljs-comment">// Choses à noter:</span></span><span>
</span><span><span class="hljs-comment">// 1. umaskAffecter uniquement le courantPHP进程新建dedocument或目录。</span></span><span>
</span><span><span class="hljs-comment">// 2. 已存在document权限不会被umaskInfluence。</span></span><span>
</span><span><span class="hljs-comment">// 3. web服务器运行用户权限和操作系统安全策略也会Influence最终权限。</span></span><span>
</span><span><span class="hljs-comment">// En résumé,passerumaskLes fonctions peuvent être facilement contrôléesPHP中新建document和目录de默认权限。</span></span><span>
</span><span><span class="hljs-comment">// 正确installationumask,有助于保证document安全,避免权限过宽带来de安全风险。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>