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

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

作成日: 更新日:

基本的な使い方

isReadableメソッドは、FilesystemIteratorオブジェクトが現在指しているファイルまたはディレクトリが、現在のPHPプロセスから読み取り可能であるかを判断するメソッドです。このメソッドは、引数を必要とせず、その項目が読み取り可能であれば真(true)を、そうでない場合は偽(false)を返します。

FilesystemIteratorは、ファイルシステム上のディレクトリの内容を繰り返し処理(イテレート)するための便利なクラスです。isReadableメソッドは、このイテレータが現在指している特定のファイルやサブディレクトリに対して、読み取り操作を行う権限があるかをチェックする際に利用されます。

例えば、Webサーバー上でユーザーがアップロードしたファイルを処理する際や、システムが生成したログファイルの内容を解析する前に、そのファイルへの読み取り権限を事前に確認することは非常に重要です。読み取り権限がないファイルにアクセスしようとすると、PHPはエラーを発生させたり、期待通りの動作をしなかったりする可能性があります。isReadableメソッドを使用することで、このような潜在的な問題を未然に防ぎ、安全かつ堅牢なファイル処理ロジックを実装できます。これにより、アプリケーションの安定性と信頼性を向上させることができます。

構文(syntax)

1<?php
2
3// ディレクトリを指定してFilesystemIteratorを作成
4// ここではスクリプトが実行されているディレクトリを使用
5$iterator = new FilesystemIterator(__DIR__);
6
7// ディレクトリ内の各ファイルまたはディレクトリについて処理
8foreach ($iterator as $fileinfo) {
9    // isReadable() メソッドを呼び出し、現在の項目が読み込み可能かチェック
10    if ($fileinfo->isReadable()) {
11        echo "ファイルまたはディレクトリ '{$fileinfo->getFilename()}' は読み込み可能です。\n";
12    } else {
13        echo "ファイルまたはディレクトリ '{$fileinfo->getFilename()}' は読み込み不可能です。\n";
14    }
15}
16
17?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

指定されたファイルまたはディレクトリが読み取り可能かどうかを示します。trueを返す場合は読み取り可能、falseを返す場合は読み取り不可能です。

【PHP8.x】isReadableメソッドの使い方 | いっしー@Webエンジニア