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

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

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

作成日: 更新日:

基本的な使い方

isWritableメソッドは、RecursiveDirectoryIteratorが現在指し示しているファイルまたはディレクトリが、現在のプログラムによって書き込み可能であるかを判断するメソッドです。このメソッドは、対象パスに書き込み権限がある場合はtrueを、ない場合はfalseを真偽値として返します。

「書き込み可能」とは、ファイルの内容変更や、ディレクトリ内でのファイル作成・削除といった操作が許されている状態を指します。例えば、Webアプリケーションがユーザーから受け取ったファイルをサーバーに保存する際や、システムがログファイルを生成する際に、保存先のパスに書き込み権限があるかを事前に確認するために利用されます。

ファイルやディレクトリへの書き込み操作を行う前にこのメソッドで権限をチェックすることは、プログラムの安定性向上に不可欠です。権限がない状態での操作はエラーを引き起こし、アプリケーションの予期せぬ停止につながる可能性があります。このチェックにより、そのような問題を未然に防ぎ、より堅牢で安全なプログラムの実行に貢献します。RecursiveDirectoryIteratorを用いてディレクトリを再帰的に走査しながら、各要素の書き込み可能性を動的に確認し、状況に応じた適切な処理を行う際に役立ちます。

構文(syntax)

1<?php
2
3$iterator = new RecursiveDirectoryIterator('.', FilesystemIterator::SKIP_DOTS);
4$recursiveIterator = new RecursiveIteratorIterator($iterator);
5
6foreach ($recursiveIterator as $fileInfo) {
7    if ($fileInfo->isWritable()) {
8        echo "Path: " . $fileInfo->getPathname() . " is writable.\n";
9    } else {
10        echo "Path: " . $fileInfo->getPathname() . " is not writable.\n";
11    }
12}
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このメソッドは、現在のディレクトリに書き込み権限があるかどうかを真偽値(bool)で返します。書き込み権限があれば true を、なければ false を返します。