ホームページ > バックエンド開発 > PHPチュートリアル > PHPのchmod関数とファイルディレクトリのパーミッションの一括変更_PHPチュートリアル

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

WBOY
リリース: 2016-07-21 15:38:17
オリジナル
1196 人が閲覧しました

構文
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 ファイル システム上のすべてのファイル タイプを処理できるはずです。ファイルやディレクトリのパーミッションを一括変更できます
コードをコピーします コードは次のとおりです:

function chmodr($path, $filemode) {
if (!is_dir($ path))
return chmod($path, $filemode);
$dh = opendir($path);
while (($file = readdir($dh)) !== false) {
if($file != '.' && $ ファイル != '..') {
$fullpath = $path.'/'.$file
if(is_link($fullpath))
elseif(!is_dir($fullpath); && !chmod($fullpath, $filemode))
return FALSE;
elseif(!chmodr($fullpath, $filemode))
return FALSE;
}
}
closedir($dh); , $filemode))
return TRUE;
else
return FALSE;
?>


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


コードをコピーします。
$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 で指定されたファイルのモードを、指定されたモードに変更してみてください。
モードは自動的には 8 進数値として扱われないこと、また文字列 (「g+w」など) にすることはできないことに注意してください。正しい動作を保証するには、mode の前に 0 を追加する必要があります。

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



コードをコピーします

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


// 所有者に対して読み取りと書き込みを行いますが、他の人には何も行いません chmod("/somedir/somefile", 0600); // 所有者に対しては読み取りと書き込み、他の人には読み取り chmod("/somedir/somefile", 0644);
// 所有者に対してはすべて読み取りと実行
chmod("/somedir/somefile", 0755); ;

// 所有者のためのすべて、所有者のグループに対して読み取りおよび実行

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

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


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

注: セーフ モードがオンになっている場合、PHP は操作されているファイルが実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 SUID、SGID、およびスティッキー ビットは変更できないことに注意してください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321788.html技術記事構文 chmod(file,mode) パラメータ 説明 file 必須。チェックするドキュメントを指定します。モードはオプションです。新しい権限を指定します。モードパラメータは 4 つの数値で構成されます。最初の数値は常に 0、2 番目の数値は常に 0 です...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート