<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// コードのこの部分は、記事の内容とは何の関係もありません,例としてのみ始まります</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"読んでくださいPHPファイル許可制御チュートリアル。"</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">/*
記事タイトル:合格PHPのumask函数怎么控制新建書類の默认权限?例の説明
*/</span>
</span><span><span class="hljs-comment">// PHP中のumask函数用于設定进程の書類权限掩码,从而控制新建書類或目录の默认权限。</span></span><span>
</span><span><span class="hljs-comment">// デフォルトで,Linux系统对新建書類の权限一般是0666(rw-rw-rw-),新しいディレクトリはです0777(rwxrwxrwx)。</span></span><span>
</span><span><span class="hljs-comment">// umask函数合格屏蔽权限位,限制新建書類或目录の权限。</span></span><span>
</span><span><span class="hljs-comment">// 例えば,umask(0022)ブロッキングを示します0022对应の权限,即屏蔽组和其他用户の写权限。</span></span><span>
</span><span><span class="hljs-comment">// 新建書類の默认权限将是 0666 & ~0022 = 0644 (rw-r--r--)</span></span><span>
</span><span><span class="hljs-comment">// 新建目录の默认权限将是 0777 & ~0022 = 0755 (rwxr-xr-x)</span></span><span>
</span><span><span class="hljs-comment">// 例の説明:</span></span><span>
</span><span><span class="hljs-comment">// 設定umask価値</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">// ファイルを作成します</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">"これはテストファイルです。"</span></span><span>);
</span><span><span class="hljs-comment">// ファイル許可を確認します</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">// 許可ビットのみ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">printf</span></span><span>(</span><span><span class="hljs-string">"書類 %s の权限是: %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">/*
実行結果は通常です:
書類 testfile.txt の权限是: 644
这表明新建書類の权限是rw-r--r--,つまり、所有者は読み書きができます,グループユーザーと他のユーザーは読みます。
*/</span>
</span><span><span class="hljs-comment">// デフォルトの権限を変更する場合,変更できますumask価値,例えば:</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">// 許可はブロックされていません</span></span><span>
</span><span><span class="hljs-comment">// 创建另一个書類</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">"权限更宽松の测试書類。"</span></span><span>);
</span><span><span class="hljs-comment">// 检查新書類权限</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">"書類 %s の权限是: %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">/*
この時点で、許可は通常です666 (rw-rw-rw-),つまり、すべてのユーザーが許可を読み書きしています。
*/</span>
</span><span><span class="hljs-comment">// 注意すべきこと:</span></span><span>
</span><span><span class="hljs-comment">// 1. umask電流にのみ影響しますPHP进程新建の書類或目录。</span></span><span>
</span><span><span class="hljs-comment">// 2. 已存在書類权限不会被umask影響。</span></span><span>
</span><span><span class="hljs-comment">// 3. web服务器运行用户权限和操作系统安全策略也会影響最终权限。</span></span><span>
</span><span><span class="hljs-comment">// 要約すれば,合格umask関数は簡単に制御できますPHP中新建書類和目录の默认权限。</span></span><span>
</span><span><span class="hljs-comment">// 正确設定umask,有助于保证書類安全,避免权限过宽带来の安全风险。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>