ホームページ > php教程 > php手册 > PHPのchmod関数とファイルディレクトリのパーミッションの一括変更

PHPのchmod関数とファイルディレクトリのパーミッションの一括変更

WBOY
リリース: 2016-06-13 12:16:34
オリジナル
1126 人が閲覧しました

構文
chmod(file,mode) パラメータ 説明
file 必須。チェックするドキュメントを指定します。
モードはオプションです。新しい権限を指定します。
モードパラメータは 4 つの数字で構成されます:
最初の数字は常に 0
2 番目の数字は所有者の権限を指定します
2 番目の数字は所有者が属するユーザーグループの権限を指定します
4 番目の数字は、他の全員の権限を指定します
可能な値 (複数の権限を設定するには、以下の数字を合計します):
1 - 実行権限
2 - 書き込み権限
4 -読み取り権限
簡単な例を見てみましょう

コードをコピーします コードは次のとおりです。


chmod("/somedir/somefile", 755); // 10 進数、間違っている可能性があります
chmod("/somedir/somefile", "u rwx,go rx"); // 文字列、間違っています
chmod("/somedir/somefile", 0755); // 8 進数、正しいモード値
?>


infosoft で再帰的ファイル モードが改善されました ....少し短いので、Linux ファイル システム上のすべてのファイル タイプを処理できるはずです。これにより、ファイルまたはディレクトリのアクセス許可を一括変更できます

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


関数 chmodr ($path, $filemode) {
if (!is_dir($path))
return chmod($path, $filemode)
$dh = opendir($path); 🎜>while ( ($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') {
$fullpath = $パス.'/ '.$file;
if(is_link($fullpath))
return FALSE;
elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode))
return FALSE;
elseif(!chmodr($fullpath, $filemode))
return
}
}
closedir($dh); path, $filemode ))
return TRUE;
else
return
}
?>


ディレクトリが多すぎる場合は、 use



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

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST);
foreach($iterator as $item) {
chmod($item, $filemode)


このコードはディレクトリのアクセス許可を変更します
はは、chmod の単純な構文について説明しただけでなく、chmod の使用例についての複雑な手順も作成しました


bool chmod ( string $filename , int $mode )
filename で指定されたファイルのモードを、mode で指定されたモードに変更してみます。

モードは自動的には 8 進数値として扱われないことに注意してください。また、文字列 (「g w」など) にすることもできません。正しい動作を保証するには、モードの前に 0 を追加する必要があります:

モード パラメーターには、所有者、所有者のグループ、全員のアクセス制限を順番に指定する 3 つの 8 進数が含まれます。各部分は、必要な権限を追加することで計算できます。数値 1 はファイルを実行可能にし、数値 2 はファイルを書き込み可能にし、数値 4 はファイルを読み取り可能にします。これらの数字を追加して、必要な権限を指定します。 UNIX システムでのファイル権限については、マニュアル「man 1 chmod」および「man 2 chmod」を参照してください。



コードをコピー

コードは次のとおりです: // 読み取りと書き込み所有者にとっては、他の人にとっては何もありません

chmod("/somedir/somefile", 0600);

// 所有者にとっては読み取りと書き込み、他の人にとっては読み取り
chmod("/somedir/somefile" ", 0644 );

// 所有者のためのすべて、他の人のために読み取りおよび実行
chmod("/somedir/somefile", 0755);

// 所有者のためのすべて、読み取り所有者のグループに対して実行します
chmod("/somedir/somefile", 0750);


成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

注: 現在のユーザーとは、PHP を実行しているユーザーを指します。ほとんどの場合、通常のシェルまたは FTP ユーザーと同じではありません。ほとんどのシステムでは、ファイルのモードを変更できるのは、そのファイルを所有するユーザーだけです。


注: この機能はリモート ファイルでは使用できません。チェックされるファイルには、サーバーのファイル システムを介してアクセスする必要があります。

注: セーフ モードがオンになっている場合、PHP は操作されているファイルが実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 SUID、SGID、およびスティッキー ビットは変更できないことに注意してください。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート