Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】getPermsメソッドの使い方

getPermsメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getPermsメソッドは、RecursiveDirectoryIteratorクラスに属し、指定されたファイルやディレクトリのアクセス権限(パーミッション)を取得するために使用されるメソッドです。

RecursiveDirectoryIteratorクラスは、ディレクトリ構造を再帰的に走査する際に利用され、その過程で見つかる各ファイルやディレクトリのエントリに対して、このメソッドを呼び出すことができます。

このメソッドが返す値は整数型であり、ファイルシステムのパーミッション情報を数値として表現します。例えば、LinuxなどのUnix系OSでchmodコマンドによって設定される0755のような8進数表記を思い浮かべると理解しやすいでしょう。この数値は、ファイルの所有者、グループ、その他のユーザーに対して、読み取り、書き込み、実行のどの操作が許可されているかを示します。

注意点として、getPermsメソッドが返す整数値には、純粋なアクセス権限だけでなく、そのエントリが通常のファイルであるか、ディレクトリであるか、あるいはシンボリックリンクであるかといったファイルタイプに関する情報も含まれています。したがって、もし純粋なアクセス権限のみが必要な場合は、ビットマスク(例えば0777)を用いてファイルタイプ情報を取り除く必要がある場合があります。

このメソッドは、アプリケーションがファイルやディレクトリに対する操作を行う前に、適切な権限を持っているかを確認したり、セキュリティ上の理由から特定の権限を持つファイルにのみアクセスを許可するロジックを実装したりする際に非常に有用です。システムエンジニアにとって、ファイルシステムの挙動やセキュリティを理解する上で重要なツールの一つとなります。

構文(syntax)

1<?php
2
3$iterator = new RecursiveDirectoryIterator(__DIR__);
4$recursiveIterator = new RecursiveIteratorIterator($iterator);
5
6foreach ($recursiveIterator as $fileInfo) {
7    $permissions = $fileInfo->getPerms();
8}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

RecursiveDirectoryIterator::getPerms() は、現在のファイルまたはディレクトリのエントリのパーミッション(アクセス権)を整数値で返します。