php chmod() 関数とファイルディレクトリのアクセス許可の一括変更

怪我咯
リリース: 2023-03-13 12:52:02
オリジナル
6765 人が閲覧しました

chmod() 関数はファイルモードを変更します。 chmod — ファイル モードを変更します。成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。

構文

chmod(file,mode)
ログイン後にコピー


パラメータ説明
ファイル必須。チェックするドキュメントを指定します。
モード

オプション。新しい権限を指定します。

mode パラメータは 4 つの数字で構成されます:

  • 最初の数字は常に 0 です

  • 2 番目の数字は所有者の権限を指定します

  • 2 番目の数字は所有者が属するユーザーグループを指定します 権限

  • 4 番目の数字は、他の全員の権限を指定します

可能な値 (複数の権限を設定するには、以下の数字を合計します):

  • 1 - 実行権限

  • 2 - 書き込み権限

  • 4 - 読み取り許可


コードは次のとおりです:

<?php 
chmod("/somedir/somefile", 755); // 十进制数,可能不对 
chmod("/somedir/somefile", "u+rwx,go+rx"); // 字符串,不对 
chmod("/somedir/somefile", 0755); // 八进制数,正确的 mode 值 
?>
ログイン後にコピー

改良された再帰ファイル モード @ infosoft....、これは少し短いですが、Linux のすべてのファイル タイプを処理する必要があります。 ファイルシステム。これにより、ファイルまたはディレクトリのパーミッションを一括変更できます

コードは次のとおりです:

<?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; 
} 
?>
ログイン後にコピー

ディレクトリが多すぎる場合は、次を使用できます

コードは次のとおりです:

<?php 
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST); 
foreach($iterator as $item) { 
chmod($item, $filemode); 
} 
?>
ログイン後にコピー

このコードは変更するために使用されますディレクトリの権限

以上がphp chmod() 関数とファイルディレクトリのアクセス許可の一括変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!